1 / 13

Software Architecture Reconstruction

By Vijaya Datta Mayyuri. Software Architecture Reconstruction. Symphony, C a c oph o ny. Introduction. A good understanding of the software architecture is needed in order to make any significant changes to the system.

purity
Download Presentation

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 Vijaya Datta Mayyuri Software Architecture Reconstruction Symphony, Cacophony

  2. Introduction • A good understanding of the software architecture is needed in order to make any significant changes to the system. • 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 doesn't reflect the current architecture of the system. • “Software architecture reconstruction is a process of obtaining the documented architecture of an existing system.” - Deursen, Hofmeister, Koschke, Moonen, Riva.

  3. 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 Two Software Reconstruction Methodologies • Symphony : View-Driven Software architecture reconstruction • Cacophony: Metamodel-Driven Software architecture reconstruction

  4. Symphony • Software architecture is usually described in terms of models and the associated rationales. • Symphony tries to reconstruct these models • Symphony makes use of viewpoints and views to construct and present these models. “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 form the perspective of a chosen viewpoint.” • A View conforms to a Viewpoint.

  5. Viewpoint view Conforms To Viewpoint : Front View View : • A Viewpoint is more generic, a view is with respect to a given entity

  6. Main Views In Symphony • Source View: The view of the system derived from the artifacts of the system ,like source code, documentation, build files • Target View: This is the final view that we need . This describes the “as-implemented architecture” and contains the information needed to solve the problem. • Hypothetical View: This reflects the current understanding of the architecture – usually not accurate

  7. Symphony Steps Reconstruction Design: defines the procedure for reconstructing the architecture. • Problem Elicitation • Concept Determination - Identify potential useful Viewpoints - Define/Refine Target Viewpoints - Define/Refine Source Viewpoints - Define/Refine Mapping rules Reconstruction Execution: produces the final architecture description • Data Gathering • Knowledge Inference • Information Interpretation

  8. Cacophony- metamodel driven architecture reconstruction Model : “ A model is a simplification of a system with an intended goal in mind. This model should be able to answer questions in the place of the actual system” examples of entities at the model level: data, view, instance… Metamodel: “A metamodel is a model that defines the language for expressing a model” examples of metamodels: schema, viewpoint, class… - [OMG, “Meta Object Facility (MOF) Specification” Version 1.4,April 2002]

  9. Cacophony- (continued) Appliware: “It is the set of software applications developed by a given Company” Metaware: “ it is the software to develop appliware and to control its Evolution” - [ cacophony ,Jean-Marie Favre]

  10. Cacophony- Steps • Metaware domain and asset analysis • Metaware inventory • Metamodel recovery • Metamodels integration • Metamodel clustering • Metaware requirement analysis • Meta-level actor identification • Meta-level use case identification • Metaware assessment and improvement analysis • Metaware specification • Meta-model filtering and extension • Presentation specification

  11. Conclusion • Symphony and Cacophony both are pretty generic processes of architecture reconstruction. • Cacophony and Symphony are pretty similar. • In Symphony we concentrate on a collection of views whereas in cacophony the focus is on metamodels. • Symphony starts from the scratch and takes an incremental approach to software architecture reconstruction whereas cacophony focuses on reusing the existing metaware.

  12. Thank you Hope this presentation was more of a Symphony than Cacophony, and hope that the industry changes its ways of work - silence is equally sweet

  13. 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

More Related