Institute for Software Research
School of Computer Science, Carnegie Mellon University
Checking and Measuring the Architectural
Marwan Abi-Antoun, Jonathan Aldrich
December 2007 (Revised)
Supercedes Institute for Software Research
The benefits of architectural analyses are only achieved if one can guarantee that the implementation conforms to the architecture. We propose an approach for checking and measuring the structural conformance of a software system’s implementation to its execution architecture.
In contrast to existing approaches, our approach uses static analyses, and works with existing Java-like programming languages, existing object-oriented designs and existing integrated development environments. We address the problem with a multi-pronged approach, as follows: (a) express and enforce architectural intent related to object encapsulation and communication directly in code using ownership domain annotations; (b) extract a sound execution architecture from the annotated program semi-automatically; and (c) compare the as-built extracted architecture to the as-designed architecture semi-automatically; and (d) obtain a measure of conformance.
We present an initial evaluation of the approach on two extended examples. In both cases, we extract as-built execution architectures that convey meaningful abstractions, convert them into standard component-and-connector architectures, and obtain measures of conformance between the as-designed and the as-built architectures that seem consistent with our intuition.