Functional modeling meets meta-CASE tools for software evolution

  • 格式:pdf
  • 大小:126.81 KB
  • 文档页数:4

Functional Modeling meets meta-CASE toolsFor Software EvolutionEleni StrouliaComputing Science Dept. University of Alberta615 General Services Building Edmonton, AB T6G 2H1, Canada(780) 492 3520stroulia@cs.ualberta.caPaul SorensonComputing Science Dept. University of Alberta615 General Services Building Edmonton, AB T6G 2H1, Canada(780) 492 1564

sorenson@cs.ualberta.ca

ABSTRACTThe development of new software based on reuse and evolution ofexisting software can potentially save a lot of development effort,assuming that the reused artifact is modified in ways consistentwith its original design. In this paper we discuss an on-goingproject, in which we adopt artificial intelligence formalisms andmethods for modeling and redesign towards addressing thisproblem of software reuse and evolution. More specifically, wediscuss the integration of Metaview, a meta-case tool, withAutognostic, an intelligent agent that is able to redesign a system,based on a model of its functional architecture.

KeywordsFunctional Representation, SBF-TMK models, redesign, meta-case tools, software adaptation, software evolution, applicationframeworks.

1. INTRODUCTION AND MOTIVATIONA meta-CASE tool provides a language for specifying a variety ofsoftware-development methodologies (SDMs) and a set ofmechanisms for supporting system development in a mannerconsistent with these methodologies. In comparison with CASEtools, meta-CASE tools offer the advantage of allowing theapplication developer to select among a variety of methodologies,depending on the particular project and its development phase,instead of confining her within the limits of a single, all-purposemethodology.

Although the original motivation for developing such tools was tosupport a system’s development and to reduce its cost, meta-CASE tools can also play an important role in system evolution.By enforcing a formal description of the system underdevelopment in terms of the chosen SDM, they support thedevelopment of well-structured systems. In general, such systemsare easier to analyze and to understand, and therefore easier tomodify during the maintenance and evolution phase of their lifecycle.

Metaview is a meta-CASE tool developed by the SoftwareEngineering Research Group at the Department of ComputingScience at the University of Alberta and the Department ofComputer Science at the University of Saskatchewan. It currentlyprovides approximately ten different SDMs and has been quiteextensively used as a research tool.

In this paper, we describe the preliminary results of an on-goingproject investigating the potential effectiveness of Metaview, andmore generally of meta-CASE tools, in system evolution andadaptation. The main motivation behind methods to supportsystem evolution is the premise that development “by adaptation”is more cost effective than development “from scratch”, whichassumes that adaptation is local and does not violate the adaptedsystem’s internal design coherence. Thus, the ability to reasonabout a system’s design rationale is a precondition for evaluatingthis assumption and for cost-effectively adapting existing systems.Understanding the system’s current design can guide theevolution of the system in ways consistent with this design, andcan prevent modifications violating the original assumptions ofthe system designer that can defeat the cost-effectiveness of theadaptation.

Autognostic is an intelligent agent that uses a functionalrepresentation language [1], SBF-TMK (structure-behavior-function task-method-knowledge) models, for systemspecification, monitoring and redesign. SBF-TMK modelsexplicitly specify a system’s functional architecture, as well as thebehaviors intended of the overall system and its components.Autognostic uses the SBF-TMK specification of a system tomonitor its run-time behavior and to evaluate whether or not itconforms to the designer’s intentions and its users’ requirements.When the system’s behavior diverges from its desired one, orwhen the user requirements evolve to include slightly novelbehaviors, Autognostic can identify the system componentsresponsible for the divergence and it can propose their redesign,so that the system’s behavior meets the user requirements.

Metaview and Autognostic address different problems in systemdevelopment. Metaview supports “principled” systemdevelopment by capturing and enforcing a suite of software-development methodologies. On the other hand, Autognosticcaptures the rationale of a system’s design in terms of thebehaviors intended for the system. This synergy motivates theproject we report on, in which we integrate Autognostic withMetaview, so that the overall system can better support systemevolution. This integration process involves two major phases:first, the modeling of the SBF-TMK language in Metaview’s