Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.

Similar presentations


Presentation on theme: "1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University."— Presentation transcript:

1 1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University

2 Outline 1. Introduction 2. Information Extraction 3. Database Construction 4. View Fusion 5. Reconstruction 6. Summary 2

3 Reconstructing Software Architectures Lecture: 11 3

4 1. Introduction So far we have treated architecture as something largely under our control What if system already exists but we do not know its architecture due to some reason? Using the 'reconstruction', the architecture is obtained from an existing system  The process can be both successful and unsuccessful Architecture reconstruction is an interpretive, interactive, and iterative process  The reconstruction process is not automatic 4

5 Introduction (Continue…) Reconstruction requires the skills of both the reverse engineer and the architect Uses of results of architectural reconstruction  The recovered architectural representation can be used as a basis for re-documenting the architecture  The reconstruction can also be used as the basis for analyzing the architecture  A starting point for re-engineering the system to a new desired architecture  It can be used to identify elements for re-use 5

6 Introduction (Continue…) Workbench Approach  Architecture reconstruction requires tool support, but no single tool is always adequate to carry it out Tools tend to be language-specific Data extraction tools are imperfect The goals of reconstruction vary  Use of recovered documentation will determine what information to extract, which helps tools selection  Tool selection issue has led to a new design philosophy known as the workbench A workbench should be open and provide a lightweight integration framework whereby tools added to the tool set do not affect the existing tools or data unnecessarily 6

7 Introduction (Continue…) Architecture Reconstruction Activities 1. Information Extraction 2. Database Construction 3. View Fusion 4. Reconstruction 7

8 Introduction (Continue…) 8 Architecture Reconstruction Activities (Continue…)

9 2. Information Extraction Information extraction involves analyzing a system's existing design and implementation artifacts to construct a model of it From the source artifacts and other artifacts we can identify the elements of interest within the system and their relationships  Parsers analyze code & generate internal representations from it  Lexical analyzers examine source artifacts purely as strings of lexical elements or tokens  Profiling and code coverage analysis tools can be used to output information about the code as it is being executed 9

10 Information Extraction (Continue…) Elements and Relationships 10

11 3. Database Construction The extracted information is converted into a standard format for storage in a database Guidelines to select database model;  It should be a well-known model, to make replacing one database implementation with another relatively simple  It should allow for efficient queries, which is important given that source models can be quite large  It should support remote access of the database from one or more geographically distributed user interfaces  It should supports view fusion by combining various tables  It should supports query languages  Checkpointing should be supported to undo actions 11

12 4. View Fusion View fusion involves defining and manipulating extracted information to reconcile, augment, and establish connections between the elements Different forms of extraction should provide complementary information Consider the figure presented in next slide for more information about view fusion 12

13 View Fusion (Continue…) Static and Dynamic Data Information about Relation “ class_contains_method” 13

14 5. Reconstruction The reconstruction operates on views to reveal broad, coarse-grained insights into the architecture. Reconstruction consists of two primary activities: visualization and interaction and pattern definition and recognition  Visualization and interaction provides a mechanism by which the user may interactively visualize, explore, and manipulate views  Pattern definition and recognition provides facilities for architectural reconstruction 14

15 Reconstruction (Continue…) 15

16 Reconstruction (Continue…) 16

17 Reconstruction (Continue…) 17

18 18 Summary Any Questions?


Download ppt "1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University."

Similar presentations


Ads by Google