1 / 14

Software Architecture Reconstruction

By Elizabeth Griffith Derived from a report done by Vijaya Datta Mayyuri Software Architecture Reconstruction Introduction “Software architecture reconstruction is a process of obtaining the documented architecture of an existing system.”

Anita
Télécharger la présentation

Software Architecture Reconstruction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. By Elizabeth Griffith Derived from a report done by Vijaya Datta Mayyuri Software Architecture Reconstruction

  2. Introduction “Software architecture reconstruction is a process of obtaining the documented architecture of an existing system.” - Deursen, Hofmeister, Koschke, Moonen, Riva. • Ideal World: Architectural information is documented during the Architectural design phase and is updated regularly to reflect the current system architecture. • Real World: Architectural information is outdated and does not reflect the current architecture of the system.

  3. Software Reconstruction Methodologies • There are several methods or techniques for reconstructing the architecture of a specific piece of software. • Symphony – view-driven • Symphony: View-Driven Software Architecture Reconstruction • 2. Cacophony – metamodel-driven • CacOphoNy: Metamodel-Driven Software Architecture Reconstruction • 3. ARM (Architecture Reconstruction Method) – uses reverse-engineering to perform software architecture reconstruction • A Software Architecture Reconstruction Method • 4. Plus many others… This presentation will focus on the Symphony Software Reconstruction Methodology.

  4. Some sources of input for reconstruction Basic steps involved Extract raw data Apply abstraction technique Present/Visualize information • The system itself • Metamodels • Traces obtained by executing the system

  5. Why Symphony? While the typical reconstruction technique describes how to apply it, they fail to answer the following basic questions: • What problems require architecture reconstruction? • What are typical views that should be recovered? • Which techniques are suitable for reconstructing particular views? • How can different views be presented so that they actually help to deal with the problem at hand? Symphony attempts to answer these questions.

  6. Symphony As we have learned in class, software architecture is usually described in terms of models and the associated rationales. Symphony tries to reconstruct these models using viewpoints and presents them using views. “A Viewpoint on a system is a technique for abstraction using a selected set of architectural concepts and structuring rules, in order to focus on particular concerns within that system.” “A View of a system is a representation of that system from the perspective of a chosen viewpoint.”

  7. Main Views In Symphony Source View: The view of the system derived from the artifacts of the system, like source code, documentation, and traces Hypothetical View: This view reflects the current understanding of the architecture, but it is usually not accurate Target View: This is the final view that we need. This view describes the “as-implemented architecture” and contains the information needed to perform the tasks of the system.

  8. Library of Viewpoints • Module viewpoint – identifies the layers, subsystems, system modules, and the relationships among them. • Code architecture viewpoint - describes the structure of the directory and the build relationships • Execution viewpoint - describes the mapping of the runtime entities to their physical resources. • Conceptual viewpoint – uses components and connectors to describe the system’s functionality. • …

  9. Viewpoints and Views in Symphony

  10. Symphony Steps Reconstruction Design: defines the procedure for reconstructing the architecture. • Problem Elicitation • Concept Determination • Identify Potential Viewpoints • Define Target Viewpoints • Define Source Viewpoints • Define Mapping Rules • Determine Role and Viewpoint of Hypothetical Views.

  11. Symphony Steps Reconstruction Execution: produces the architectural description • Data Gathering • Knowledge Inference • Information Interpretation

  12. Conclusion • There are several processes/techniques for software reconstruction. • Symphony is a generic process for architecture reconstruction. • In Symphony we concentrate on a collection of views. • Symphony starts from the scratch and takes an incremental approach to software architecture reconstruction.

  13. Any Questions?

  14. References References [1] Symphony . View-based software architecture reconstruction Arie van Deursen Christine Hofmeister Rainer Koschke Leon Moonen Claudio Riva [2] Cacophony. Metamodel-driven software architecture reconstruction, Jean-Marie Favre. [3] Software architecture reconstruction L.O’Brien,C.Stoermer,C.Verhoef [4] OMG, “MDA: the OMG model driven Architecture” www.omg.org/mda/ [5] OMG, “Meta Object Facility (MOF) Specification” Version 1.4 ,April 2002 [1] Symphony . View-based software architecture reconstruction Arie van Deursen Christine Hofmeister Rainer Koschke Leon Moonen Claudio Riva [2] Cacophony. Metamodel-driven software architecture reconstruction, Jean-Marie Favre. [3] Software architecture reconstruction L.O’Brien,C.Stoermer,C.Verhoef [4] OMG, “MDA: the OMG model driven Architecture” www.omg.org/mda/ [5] OMG, “Meta Object Facility (MOF) Specification” Version 1.4 ,April 2002

More Related