Mission-Oriented Legacy System Evolution Through Architectural Recovery and Evaluation G. Abowd, A. Goel, M. McCracken, M. Moore, C. Potts, S. Rugaber, and L. Wills 1 Georgia Institute of Technology, Atlanta, GA 30332 A. Introduction: MORALE An important consideration in evolutionary design is to understand what drives the need for change. A common driver is a change in the purpose, or mission, of the system. The MORALE 2 project focuses on support for such mission-oriented evolution. There is an unexpected symmetry between requirements analysis, software architecture and reverse engineering that can be exploited to improve the process of mission-driven system evolution. Effective system evolution requires understanding of both the way that an existing system accomplishes its tasks and also the mission-oriented rationale for any changes that feed the evolution. Understanding the higher level structuring, or architecture, of an existing system aids in predicting the impact of change that is mandated by new mission-oriented requirements. We use requirements analysis techniques to suggest what concepts are most useful in understanding how an existing system works and how it should be evolved. We use reverse engineering techniques to extract high level architecture, both in terms of static and dynamic behavior, of legacy systems. The MORALE suite of tools and techniques will harness this symmetry by growing a common model of the architecture for multiple versions of a system or system family. The common model is a basis for assessing the effects of proposed changes and the extent to which legacy code can be reused. The MORALE acronym summarizes our goals: • Mission ORiented: We want the legacy system enhancement process to be driven by the mis- sion to be accomplished rather than by purely technical criteria. Moreover, we want to ascer- tain the applicability of the old system to the new requirements, thereby avoiding unnecessary work. • Architectural: The most time-consuming and costly alterations to software are those that distort architecture, by which we mean its structure and patterns of component interaction. We want to provide a mechanism for predicting the impact of architectural changes so that the risks of making those changes can be ascertained early in the evolution cycle. • Legacy Evolution: We are concerned with the evolution of legacy systems. The most expen- sive phase of the software development life cycle is maintenance/enhancement, and the most time consuming part of these activities is analyzing and understanding existing software. We want to provide a cost effective way of analyzing existing software, and once analyzed, extracting those parts of it which can be used in the new version. To accomplish these goals, MORALE is integrating the following innovative technologies. • A mission-directed requirements determination process that, through a systematic process of inquiry and refinement, turns mission-oriented goals into specifications of the desired behav- 1. Point of contact: linda.wills@ece.gatech.edu. 2. Effort sponsored by the Defense Advanced Research Projects Agency, and Rome Laboratory, Air Force Mate- riel Command, USAF, under agreement number F30602-96-2-0229. The U.S. Government is authorized to reproduce and distribute reprints for governmental purposes notwithstanding any copyright annotation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Defense Advanced Research Projects Agency, Rome Laboratory, or the U.S. Government.