Extracting High-level Architecture from Existing Code with Summary Models

N. Mansurov and D. Campara (Canada)


software architecture, modularization, evolution, model driven architecture


Evolution of existing large telecommunications software currently became an important issue. Efficient methods are needed to componentize existing software identify existing components and gradually improve their boundaries and interfaces. We describe our approach to componentization, which involves precise yet high-level models of existing software. Central to our approach are certain editing operations that make models more high level yet preserve precision of models. Raising the level of abstraction of the initial model of software is essential for communicating the cleaned-up architecture to the development team, analyzing, optimizing and managing it. We introduce the concept of a "summary model" that is scalable, maintains precision of component interfaces, and maintains links to the source code. We report using the summary models in our Klocwork Architecture Excavation methodology. We show that in order to accelerate Architecture Excavation, it is important to build various supporting views. These views need to be also precise and scalable, i.e. work at the same level of abstraction as the emerging components. We expand the scope of summary models and present them as a unified approach to reverse engineering.

Important Links:

Go Back