On-the-Fly and Non-invasive Extraction of Runtime Architectures Using Hierarchical Object Graphs

  • Hugo Brito
  • Henrique Rocha UFMG
  • Ricardo Terra UFMG
  • Marco Tulio Valente UFMG

Resumo


Reverse engineering techniques are usually applied to extract concrete architecture models. However, these techniques usually extract diagrams that just reveal static architectures, such as class diagrams. On the other hand, the extraction of dynamic architecture models can be particularly useful for an initial understanding of how a system works or to evaluate the impact of a possible maintenance task. This paper describes an approach to extract hierarchical object graphs from running systems. The proposed graphs have several features that -- when combined -- make them valuable when compared to similar approaches, including: (a) support to the hierarchization of objects in domains, (b) support to the full spectrum of relations and entities that are common in object-oriented systems, (c) support to multithreading systems, (d) support to a language to alert about expected (or unexpected) relations between extracted objects. We also describe the design and implementation of a tool for visualizing the proposed object graphs. Finally, we show how our approach can contribute for understanding the running architecture of two systems.
Palavras-chave: Visualization, Computer architecture, Computational modeling, Software, Feature extraction, Electronic mail, Object oriented modeling, Software architecture, Run-time architectures, Architecture Recovery and Discovery
Publicado
27/09/2010
BRITO, Hugo; ROCHA, Henrique; TERRA, Ricardo; VALENTE, Marco Tulio. On-the-Fly and Non-invasive Extraction of Runtime Architectures Using Hierarchical Object Graphs. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 4. , 2010, Salvador/BA. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2010 . p. 140-149.