Software Architecture Reconstruction By Vijaya Datta Mayyuri Symphony, Cacophony.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Software Architecture Reconstruction By Elizabeth Griffith Derived from a report done by Vijaya Datta Mayyuri.
Chapter 2 – Software Processes
DELFT MMIV BC Jean-Marie Favre Software Explorer and Language Archeologist University of Grenoble Looking from the.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
1 SWE Introduction to Software Engineering Lecture 5.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Information Modeling: The process and the required competencies of its participants Paul Frederiks Theo van der Weide.
L ECTURE 2 S OFTWARE P ROCESSES 1. O BJECTIVES To describe outline process models for requirements engineering, software development, testing and evolution.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
David Harrison Senior Consultant, Popkin Software 22 April 2004
Course Instructor: Aisha Azeem
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
Developing Enterprise Architecture
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
UML - Development Process 1 Software Development Process Using UML (2)
ISO Tor Stålhane IDI / NTNU. What is ISO ISO 9001 was developed for the production industry but has a rather general structure ISO describes.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
ITEC224 Database Programming
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Exploring the Intentional Dimension during Software (Architecture) Design adding the “why” and the “who/where” to the “what” and the “how” Daniel Gross.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
Lecture 3 Software Engineering Models (Cont.)
MODA-TEL An IST project on Model Driven Architectures for Telecommunications System Development and Operation.
1 Introduction to Software Engineering Lecture 1.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Qualitative Research Topic : Analysis is Ongoing (P.272~290) MA1C0109 Owen 楊勝雄.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Metadata By N.Gopinath AP/CSE Metadata and it’s role in the lifecycle. The collection, maintenance, and deployment of metadata Metadata and tool integration.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Information Integration 15 th Meeting Course Name: Business Intelligence Year: 2009.
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Metadata Driven Aspect Specification Ricardo Ferreira, Ricardo Raminhos Uninova, Portugal Ana Moreira Universidade Nova de Lisboa, Portugal 7th International.
Sheet 1 Forum on Specification and Design Languages (FDL), Frankfurt, September 2003 UML to XML-Schema Transformation: a Case Study in Managing Alternative.
Architecture Ecosystem SIG March 2010 Update Jacksonville FL.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet.
Chapter3:Software Processes
Software Architecture in Practice
Chapter 2 Database Environment.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Architecture Components
Chapter 2 Database Environment.
Chapter 2 Database Environment Pearson Education © 2009.
Implementing Language Extensions with Model Transformations
Evaluating Compuware OptimalJ as an MDA tool
KNOWLEDGE REPRESENTATION
UML profiles.
Semantic Information Modeling for Federation
Implementing Language Extensions with Model Transformations
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Software Architecture & Design
Presentation transcript:

Software Architecture Reconstruction By Vijaya Datta Mayyuri Symphony, Cacophony

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.

Some Sources of input for reconstruction The system itself Metamodels Traces obtained by executing the system Two Software Reconstruction Methodologies 1.Symphony : View-Driven Software architecture reconstruction 2.Cacophony: Metamodel-Driven Software architecture reconstruction Basic Steps involved Extract raw dataApply abstraction technique Present/Visualize information

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.

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

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

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 1.Data Gathering 2.Knowledge Inference 3.Information Interpretation

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]

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]

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

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.

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

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” [5] OMG, “Meta Object Facility (MOF) Specification” Version 1.4,April 2002