Affiliation:
1. Carnegie Mellon University, Pittsburgh, PA, USA
Abstract
An object diagram makes explicit the object structures that are only implicit in a class diagram. An object diagram may be missing and must extracted from the code. Alternatively, an existing diagram may be inconsistent with the code, and must be analyzed for conformance with the implementation. One can generalize the
global
object diagram of a system into a runtime architecture which abstracts objects into components, represents how those components interact, and can decompose a component into a nested sub-architecture.
A static object diagram represents all objects and inter-object relations possibly created, and is recovered by static analysis of a program. Existing analyses extract static object diagrams that are non-hierarchical, do not scale, and do not provide meaningful architectural abstraction. Indeed, architectural hierarchy is not readily observable in arbitrary code. Previous approaches used breaking language extensions to specify hierarchy and instances in code, or used dynamic analyses to extract dynamic object diagrams that show objects and relations for a few program runs.
Typecheckable ownership domain annotations use existing language support for annotations and specify in code object encapsulation, logical containment and architectural tiers. These annotations enable a points-to static analysis to extract a sound global object graph that provides architectural abstraction by ownership hierarchy and by types, where architecturally significant objects appear near the top of the hierarchy and data structures are further down.
Another analysis can abstract an object graph into a built runtime architecture. Then, a third analysis can compare the built architecture to a target, analyze and measure their structural conformance, establish traceability between the two and identify interesting differences.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference37 articles.
1. M. Abi-Antoun. Static Extraction and Conformance Analysis of Hierarchical Runtime Architectural Structure. PhD thesis Carnegie Mellon University. Available as Technical Report CMU-ISR-09-119. M. Abi-Antoun. Static Extraction and Conformance Analysis of Hierarchical Runtime Architectural Structure. PhD thesis Carnegie Mellon University. Available as Technical Report CMU-ISR-09-119.
2. A field study in static extraction of runtime architectures
3. Static extraction of sound hierarchical runtime object graphs
4. A case study in re-engineering to enforce architectural control flow and data sharing
Cited by
11 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献