posted on 2002-02-01, 00:00authored byBradley Schmerl, Jonathan Aldrich, David Garlan, Rick Kazman, Hong Yan
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 run time 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 pre-existing architectural specification.