Combining Static and Dynamic Views for Architecture Reconstruction


Presents an architecture-focused process for navigating and viewing static and dynamic information of a software system. Prolog facts and rules are used to visualize software in Rigi and a custom Message Sequence Chart visualizer. Concludes that views must be separated, but linked and synchronized for navigation. Process requires up-front information input by the architect to guide the reverse architecting—extracted from documentation and domain knowledge. Also seems to require prolog programming.


  • Makes use of Kruchten's 4+1 view model:logical, process, physical, and development + development
  • View models separate static and dynamic aspects of architecture
  • Concerned with architects who are interested in keeping architecture documentation in sync with development
  • Notes that most tools are designed for either static or dynamic analysis: not both
  • Important references: SCENE, SCED, ISVis, and Systa's work. Plus Richner (ICSM 99)
  • Shortcomings of previous work:
    1. Most previous work deals on the source level.
    2. Previous work lacks automation
    3. Lack of complete graphical visualization of software models
    4. Tools are coupled with programming languages
  • SPECULATIVE NOTE from me: 1 & 3 are probably problems for architects, but are likely good for developers
  • Four step approach:
    1. Definition of architectural concepts
    2. Data gathering
    3. Abstraction
    4. Presentation
  • 1 is interesting because it requires up-front analysis by the architect
  • Dynamic information is used to slice the static view
  • Introduces Horizontal and Vertical abstraction
  • The example indicates that the extraction of static information is very system-dependent. What is extracted depends heavily on the input by the architect in phase 1
  • Does the process require writing prolog rules?
  • The system maintains synchronized views between Rigi and a Message Sequence Chart visualizer
  • Views are of static and dynamic aspects of the code… not a combined view for static and dynamic analysis
  • Concludes that static and dynamic information should be displayed in synchronized views

BibTeX Reference

title={Combining static and dynamic views for architecture reconstruction }, 
author={Riva, C. and Rodriguez, J.V.}, 
journal={Software Maintenance and Reengineering, 2002. Proceedings. Sixth European Conference on}, 
abstract={Static analysis aims at recovering the structure of a software system, while dynamic analysis focuses on its run time behaviour. We propose a technique for combining the analysis of static and dynamic architectural information to support the task of architecture reconstruction. The approach emphasises the correct choice of architecturally significant concepts for the reconstruction process and relies on abstraction techniques for their manipulation. The technique allows the software architect to create a set of architectural views valuable for the architecture description of the system. To support our technique, we outline an environment that relies on hierarchical typed directed graphs to show the system's structure and message sequence charts for its behaviour. The main features of the environment are: visualisation of static and dynamic views, synchronisation of abstractions performed on the views, scripting support and management of the use cases. The approach and the environment are demonstrated with an example}, 
keywords={directed graphs, message passing, reverse engineering, software architecture, synchronisation, systems re-engineeringabstraction, architecture reconstruction, directed graphs, dynamic architectural information, message sequence charts, reverse engineering, software architecture, static architectural information, synchronisation}, 
ISSN={}, }
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License