Modes for Software Architectures

  • Dan Hirsch
  • Jeff Kramer
  • Jeff Magee
  • Sebastian Uchitel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4344)


Modern systems are heterogeneous, geographically distributed and highly dynamic since the communication topology can vary and the components can, at any moment, connect to or detach from the system. Service Oriented Computing (SOC) has emerged as a suitable paradigm for specifying and implementing such global systems. The variety and dynamics in the possible scenarios implies that considering such systems as belonging to a single architectural style is not helpful. This considerations take us to propose the notion of Mode as a new element of architectural descriptions. A mode abstracts a specific set of services that must interact for the completion of a specific subsystem task. This paper presents initial ideas regarding the formalization of modes and mode transitions as explicit elements of architectural descriptions with the goal of providing flexible support for the description and verification of complex adaptable service oriented systems. We incorporate the notion of mode to the Darwin architectural language and apply it to illustrate how modes may help on describing systems from the Automotive domain.


Software Architecture Label Transition System Composite Component Autonomous Mode Architectural Level 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Garlan, D., Shaw, M.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  2. 2.
    Garlan, D., Kramer, J., Wolf, A.: Woss 2002: Proceedings of the first workshop on self-healing systems, New York, NY, USA (2002)Google Scholar
  3. 3.
    Garlan, D., Kramer, J., Wolf, A.: Woss 2004: Proceedings of the 1st ACM sigsoft workshop on self-managed systems. ACM Press, New York (2004)CrossRefGoogle Scholar
  4. 4.
    Georgiadis, I.: Self-Organising Distributed Component Software Architectures. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London (January 2002)Google Scholar
  5. 5.
    Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley, Reading (1999)Google Scholar
  6. 6.
    Hofmeister, C., Nord, R., Soni, D.: Describing software architecture with UM L. In: First Working IFIP Conference on Software Architecture, San Antonio, Texas. Kluwer Academic Publishers, Dordrecht (1999)Google Scholar
  7. 7.
    Jackson, D.: Alloy: A lightweight object modelling notation. Technical report, MIT Lab for Computer Science (July 1999)Google Scholar
  8. 8.
    Jackson, D., Schechter, I., Shlyakhter, I.: Alcoa: The alloy constraint analyzer. In: International Conference on Software Engineering, pp. 730–733, Ireland (June 2000)Google Scholar
  9. 9.
    Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying distributed software architectures. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989. Springer, Heidelberg (1995)Google Scholar
  10. 10.
    Magee, J., Kramer, J.: Dynamic structure in software architectures. In: Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE4), ACM Software Engineering Notes, San Francisco, pp. 3–14 (October 1996)Google Scholar
  11. 11.
    Magee, J., Kramer, J.: Concurrency: State Models and Java Programs, 2nd edn. Wiley, Chichester (2006)Google Scholar
  12. 12.
    Magee, J., Kramer, J., Giannakopoulou, D.: Analysing the behaviour of distributed software architectures: a case study. In: 5th IEEE Workshop on Future Trends of Distributed Computing Systems, pp. 240–245 (1996)Google Scholar
  13. 13.
    Maraninchi, F., Rémond, Y.: Mode-automata: About modes and states for reactive systems. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 249–250. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  14. 14.
    Medvidovic, N., Rosemblum, D.: Assesing the suitability of a standard design method. In: First Working IFIP Conference on Software Architecture, San Antonio, Texas. Kluwer Academic Publishers, Dordrecht (1999)Google Scholar
  15. 15.
    Medvidovic, N., Taylor, R.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  16. 16.
    Perry, D., Wolf, A.: Foundations for the study of software architecture. ACM SIGSOFT 17(4), 40–52 (1992)CrossRefGoogle Scholar
  17. 17.
    Uchitel, S., Chatley, R., Magee, J., Kramer, J.: System architecture: the context for scenario-based model synthesis. In: Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 2004), ACM Software Engineering Notes, Newport Beach, CA, pp. 33–42 (2004)Google Scholar
  18. 18.
    Zobel, A.: Sensoria deliverable 8.0: Description of scenarios for the automotive case study (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Dan Hirsch
    • 1
  • Jeff Kramer
    • 1
  • Jeff Magee
    • 1
  • Sebastian Uchitel
    • 1
  1. 1.Department of ComputingImperial CollegeLondon

Personalised recommendations