Information Management for Release-based Software Evolution Using EMMA

Daryl McCullough, Tanya Korelsky, Michael White · 1998

This paper describes EMMA (Evolution-Memory Management Assistant), a tool to provide collaborative support for the release-based Evolutionary Delivery Model [4] of system development. Evolution information in EMMA is organized around four interrelated concepts: (1) properties, (2) assumptions, (3) solutions, and (4) change events. This information provides context to relate development decisions to higher-level purposes and to the assumptions under which decisions are made. By managing information about design decisions and directions for change, EMMA helps project managers to understand the issues involved and to be proactive in planning for system evolution. 1 The EMMA Metamodel for System Evolution EMMA, an Evolution-Memory Management Assistant, is a collaborative information management tool being developed by CoGenTex, Inc. under the sponsorship of the Evolutionary Development of Complex Software (EDCS) program to address the needs of managers and developers when developing and maintaining complex, evolvable systems. (As described in [8], the costs of maintenance can be much, much more than the cost of initial system development. However, relatively little tool support exists for this crucial activity.) EMMA supports the process of exploring, choosing among, and implementing alternative solutions by aiding in the acquisition and management of the information that needs to be shared among the project participants. 1.1 Goals and Solutions The organizing principle behind EMMA’s metamodel for system development is that to reason about system evolution, it is necessary to understand in detail the goal for a system and the solution constructed to address those goals. A goal for us is the list of desired properties that the system should have, together with the context (assumptions, definitions, resources and constraints) under which the system is to be developed. 1 Rome Laboratory Contract F30602-96-C-0220 A solution in the EMMA metamodel is an approach to satisfying some goal by either explicitly providing a reference to an actual implementation, or by partitioning system responsibilities among system elements, each of which is a solution for a simpler goal. For example, a solution for building a complex system might involve partitioning the system into user interface, data structures, and algorithms, each of which will be a solution with its own requirements to fulfill. In this way, complex high-level solutions are decomposed into simpler, more specific low-level solutions. Then higher-level solutions are constructed by composing low-level solutions. The collection of goals, solutions, subsolutions and their associated system elements will be referred to as a

Read the paper · More papers on PaperTik