Specifying Dynamism in Software Architectures

Authors: Robert J. Allen, Remi Douence, and David Garlan

Proceedings of the Workshop on Foundations of Component-Based Software Engineering, September 1997.

Download the Postscript or PDF
BIBTEX Citation


A critical issue for complex component-based systems design is the modeling and analysis of architecture. One of the complicating factors in developing architectural models is accounting for systems whose architecture changes dynamically (during run time). This is because dynamic changes to architectural structure may interact in subtle ways with on-going computations of the system.

In this paper we argue that it is possible and valuable to provide a modeling approach that accounts for the interactions between architectural reconfiguration and non-reconfiguration system functionality, while maintaining a separation of concerns between these two aspects of a system. The key to the approach is to use a uniform notation and semantic base for both reconfiguration and steady-state behavior, while at the same time providing syntactic separation between the two. As we will show, this permits us to view the architecture in terms of a set possible architectural snapshots, each with its own steady-state behavior. Transitions between these snapshots are accounted for by special reconfiguration-triggering events.

Keywords: Software Architecture, Wright, Dynamic Topology, Analysis, CSP

For further information, please visit the home pages of the ABLE research project and Carnegie Mellon University's Composable Systems Group.

Last modified: 8/29/2006. For comments and problems, contact able-help@cs.cmu.edu.