Improving System Dependability by Enforcing Architectural Intent
Marwan Abi-Antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, and Tony Tseng
Proceedings of the 2005 Workshop on Architecting Dependable Systems (WADS 2005), St. Louis, MS, May 2005.
Developing dependable software systems requires enforcing conformance
between architecture and implementation during software development
and evolution. We address this problem with a multi-pronged approach:
(a) automated refinement of a component-and-connector (C&C)
architectural view into an initial implementation, (b) enforcement of
architectural structure at the programming language level, (c)
automated abstraction of a C&C view from an implementation, and (d)
semi-automated incremental synchronization between the architectural
and the implementation C&C views.
We use an Architecture Description Language (ADL), Acme, to describe the architecture, and ArchJava, an implementation language which embeds a C&C architecture specification within Java implementation code. Although both Acme and ArchJava specify C&C views, a number of structural differences may arise. Our approach can detect structural differences which correspond directly to implementation-level violations of the well thoughtout architectural intent. Furthermore, supplementing the C&C view extracted from the implementation with architectural types and styles can uncover additional violations.
Last modified: 6/6/2005. For comments and problems, contact firstname.lastname@example.org.