Software architecture reconstruction is the process of analyzing an existing software system to produce an architectural representation of it. It involves extracting information from various sources like code, documentation, and profiles. This information is converted into a standard database format and combined from different sources through view fusion. The main activities of reconstruction are visualization and interaction with the views, and recognizing patterns in the code. It is an iterative process requiring both technical expertise and architectural skills to understand dependencies and evaluate how an implemented system conforms to its intended architecture.
2. Introduction:
Architecture Reconstruction : is an “as-built”
architecture of an implemented of system i.e
obtained from the existing system.
It is done through the “detail analysis” of the system,
using tool support.
If the tools are successful, the end result is an
architectural representation.
3. What is Architecture Reconstruction?
Although it is not an automatic process
It is an “interpretive” , “interactive”, and “iterative”
process involving many activities.
Requires the skills and attention of both the
engineering expert and the architect
4. Uses:
To “redocument” the project architecture
To understand the architectural dependencies in
embedded control software
To understand different systems in the automotive
industry
To evaluate the conformance of satellite ground system’s
implementation to its reference architecture
5. Reconstruction Activities:
Software architecture reconstruction comprise the
following activities,carreid out iteratively:-
Information Extraction;
Database Construction;
View Fusion;
Reconstruction.
7. Information Extraction:
The purpose of this activity is to extract information
from vavious source
To extract information, a variety of tools are used:
* Parser(ex Imagix,CIA etc)
* Abstract syntax tree analyser (ex,Refine etc)
* Lexical analyser (ex,LSME)
* Profilers(ex,gprof)
*Ad hoc (ex,grep,perl etc)
9. Database construction:
Database construction involves converting
information into a standard form, such as Rigi
Standard Form(tuple based data format) & SQL
based database format
It is necessary to chose a database model
10. For choosing model,consider the following:
It should be a well known model
Sufficient queries are allowed
Support remote access to database
Suppoerts view fusion by combining information
from various tables
It supports query language
11. Guideline(database construction):
Build database table from the extracted relations to
make processing of database view easier
Carefully consider the database design
Use simple lexical toollike perl and AWK
12. View Fusion:
It combines information in the database to produce a
coherent view of architecture
It involves defining and manipulating extracted
information to reconcile, augment ,and establish
connections between the elements
13. Guideline(View Fusion):
Fuse table when no single extracted table provides
the needed information
Fuse table when there is an ambiguity
Consider different extraction techniques to extract
different information
14. Reconstruction:
The reconstruction activity is where the main work of
building abstraction and various representation of the
data to generate an architecture representation take
place
Reconstruction provides two basic activities:
* visualisation and interaction &
* pattern recognition and definition
15. visualisation and interaction: A mechanism by
which the user may interactively visualise, explore
and manipulate views
pattern recognition and definition:provides
facilities for architectural reconstruction: the
definition and recognition of the code menifestation
of architectural patterns