MDA-Based Object-Oriented Reverse Engineering
MDA-Based Object-Oriented Reverse Engineering
Reverse engineering is the process of analyzing software systems to extract software artifacts at a higher level of abstraction so that it is easier to understand them, e.g., for reengineering, modernizing, reuse, migration or documenting purposes. This chapter describes an approach to reverse engineering object oriented code. A central idea in reverse engineering is exploiting the source code as the most reliable description both of the system behavior and of the organization and its business rules. We propose an approach for MDA-based object oriented reverse engineering that integrates classical compiler techniques, metamodeling techniques and formal specification for recovering designs and architectures. We analyze reverse engineering of PSMs and PIMs from object-oriented code. Models are expressed using UML and OCL. On the one hand, the subset of UML diagrams, that are useful for platform-dependent models, includes class diagram, object diagram, state diagram, interaction diagram (collaboration diagram and sequence diagram) and package diagram. On the other hand, a PIM can be expressed by means of use case diagrams, activity diagrams, interaction diagrams to model system processes and state diagrams to model lifecycle of the system entities.
CITATION: Favre, Liliana María. MDA-Based Object-Oriented Reverse Engineering edited by Favre, Liliana . Hershey, PA : IGI Global , 2010. Model Driven Architecture for Reverse Engineering Technologies - Available at: https://library.au.int/frmda-based-object-oriented-reverse-engineering