Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Evaluation of software architectures with eclipse

: Miodonski, P.; Forster, T.; Knodel, J.; Lindvall, M.; Muthig, D.

Volltext urn:nbn:de:0011-n-256157 (2.9 MByte PDF)
MD5 Fingerprint: c230e4ee7e3f3493fdf3130409f43f80
Erstellt am: 07.12.2004

Kaiserslautern, 2004, VI, 80 S. : Ill., Lit.
IESE-Report, 107.04/E
Reportnr.: 107.04/E
Bericht, Elektronische Publikation
Fraunhofer IESE ()

The thesis deals with software architecture process of evaluation, with the goal to evaluate it according to given constraints (e.g., to determine the quality of the architecture, assure that requirements are addressed, fulfill business goals). The evaluation of the software architecture can be a part of the reengineering process, but where an existing system is being examined and altered, it has to be part of the process. The lack of the software architecture force to reconstruct the architecture of the existing system and if the software architecture exists, it hat to be verified against the implementation of the system.

The intention of the diploma thesis is to develop a tool that closes the gap between pre- and post-implementation phase architectural evaluation. The objectives are to evaluate architectural rules and principles while developers are im- plementing the system. The ongoing evaluation accompanying all development activities has the following benefits:
- immediately raise of awareness
- enabling to decide about architectural problems when they occur and when still in the development context
- ability to communicate architectural flaws directly when they appear and flowback of information from developers to the architects

The tool name is SAVE. This is an acronym for Software Architecture Visualization and Evaluation. The tool is an Eclipse plug-in which evaluates the given software architecture (High Level Model) with the source code (Source Code Model) and points out the differences between these two artifacts.

The results of the comparison are three sets:
- Convergences
- Divergences
- Absences

The goal of the comparison between the High Level Model (HLM) and the Source Code Model (SCM) is to achieve higher quality of both, the software architecture of the system and the implementation. Higher consistency between these two models gives the development team more control about the system. SAVE gives the developer the control of the consistency by comparing these two models on-the-fly in the background and pointing out the violations. To save resources this is achieved by computing only the delta between HLM and SCM, this means only the changed code and its effects on the models are recomputed.

The work achieves in detail the following goals:

1. ongoing software architecture evaluation during implementation
shown to the user to indicate the effects of the delta.

2. software architecture evaluation during implementation
computation, which is only preformed once; the result of the computation is presented in a graphical manner to the user.

3. smooth IDE integration
to give the developer most possible comfort using the tool all functions are integrated in one IDE;

additional achievements are:
- Language independence - the idea is to extract information out of the code in form of XMI (XML Metadata Interchange) and perform the analysis on this data in order to achieve language independence; the diploma thesis focuses on the Java language
- Support for the component browser - the plug-in supports the component browser plug-in (another tool developed at IESE to support the management of components present in a system) in order to import the High Level Model and the mapping. The component browser is an external application/Eclipse plug-in
- XMI Repository - every kind of model will be stored in XMI format, this format enables the postprocessing of results (i.e., evaluation results can be analyzed by other tools.

4. traceability (Code Navigation)