Issue No. 07 - July (2006 vol. 32)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2006.66
One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper, we describe a technique that uses runtime observations about an executing system to construct an architectural view of the system. In this technique, we develop mappings that exploit regularities in system implementation and architectural style. These mappings describe how low-level system events can be interpreted as more abstract architectural operations and are formally defined using Colored Petri Nets. In this paper, we describe a system, called DiscoTect, that uses these mappings and we introduce the DiscoSTEP mapping language and its formal definition. Two case studies showing the application of DiscoTect suggest that the tool is practical to apply to legacy systems and can dynamically verify conformance to a preexisting architectural specification.
Software architecture discovery, reverse engineering, architecture design tools and analyses.
R. Kazman, D. Garlan, H. Yan, B. Schmerl and J. Aldrich, "Discovering Architectures from Running Systems," in IEEE Transactions on Software Engineering, vol. 32, no. , pp. 454-466, 2006.