Specifying and analyzing dynamic software architectures

  • Robert Allen
  • Rémi Douence
  • David Garlan
Contributed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1382)


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.


Control Event Graph Grammar Defense Advance Research Project Agency Primary Server Link Connector 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [1]
    R. J. Allen. A Formal Approach to Software Architecture. Ph.D. Thesis, Carnegie Mellon University, School of Computer Science, May 1997.Google Scholar
  2. [2]
    R. J. Allen and D. Garlan. A Formal Basis for Architectural Connection. In ACM Transactions on Software Engineering and Methodology, July 1997.Google Scholar
  3. [3]
    J.-P. Banâtre, C. Bryce and D. Le Métayer. Compile-time detection of information flow in sequential programs. In Proc. of ESORICS'95, LNCS 875, 1995.Google Scholar
  4. [4]
    Failures Divergence Refinement: User Manual and Tutorial. Formal Systems (Europe) Ltd., Oxford, England,1.2Β edition October 1992.Google Scholar
  5. [5]
    D. Garlan, R. T. Monroe and D. Wile. ACME: An Architecture Description Interchange Language. Submitted for publication, January 1997.Google Scholar
  6. [6]
    Hoare, C.A.R. Communicating Sequential Processes. Prentice Hall, 1985.Google Scholar
  7. [7]
    P. Inverardi and A. Wolf. Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model. IEEE Trans. SW Eng., 21(4), 95.Google Scholar
  8. [8]
    L. Lamport. The Temporal Logic of Actions. In ACM TOPLAS, 16(3), 1994.Google Scholar
  9. [9]
    D. Le Métayer. Software Architecture Styles as Graph Grammars. In Proc. of FSE'96, ACM SIG-SOFT.Google Scholar
  10. [10]
    D. Luckham, L. Augustin, J. Kenney, J. Vera, D. Bryan and W. Mann. Specification and Analysis of System Architecture Using Rapide. In IEEE Trans. on Soft. Eng., 21(4), 1995.Google Scholar
  11. [11]
    J. Magee and J. Kramer. Dynamic Structure in Software Architectures. In Proc. of FSE'96, 1996.Google Scholar
  12. [12]
    N. Medvidovic.A Classification and Comparison Framework for Software ADLs. Univ. of Irvine, Dept. of Information and Computer Science, 1997.Google Scholar
  13. [13]
    L. Sha, R. Ragunathan and M. Gagliardi. Evolving Dependable Real-Time Systems. Carnegie Mellon University SEI Report CMU-SEI-95-TR-005, 1995.Google Scholar
  14. [14]
    M. Shaw, R. DeLine, D. Klein, T. Ross, D. Young and G. Zelesnik. Abstractions for Software Architecture and Tools to Support Them. In IEEE Trans. on Soft. Eng., 21(4), 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Robert Allen
    • 1
    • 2
  • Rémi Douence
    • 1
    • 2
  • David Garlan
    • 1
    • 2
  1. 1.School of Computer ScienceCarnegie Mellon UniversityPittsburghUSA
  2. 2.IRISARennes CedexFrance

Personalised recommendations