Specifying and Analyzing Dynamic Software Architectures

Robert J. Allen, Remi Douence, and David Garlan

Proceedings of the 1998 Conference on Fundamental Approaches to Software Engineering (FASE'98) Lisbon, Portugal, March 1998.

Online links: Postscript 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 of possible architectural snapshots, each with its own steady-state behavior. Transitions between these snapshots are accounted for by special reconfiguration-triggering events.

Software architecture, Dynamic architectures, formal methods, Wright

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

Last modified: 10/15/2001. For comments and problems, contact able-help@cs.cmu.edu.