Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Discovering Architectures from Running Systems

Summary: Discovering Architectures from
Running Systems
Bradley Schmerl, Jonathan Aldrich, David Garlan, Rick Kazman, and Hong Yan
Abstract--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
Index Terms--Software architecture discovery, reverse engineering, architecture design tools and analyses.

A well-defined software architecture is critical for the
success of complex software systems. An architectural
model consists of many views (e.g., [24]) of the system. One
particularly useful view is the component and connector
(C&C) view, which provides a high-level view of a system
in terms of its principle runtime components (e.g., clients,


Source: Aldrich, Jonathan - School of Computer Science, Carnegie Mellon University


Collections: Computer Technologies and Information Sciences