Modes for Software Architectures

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.

[1]  Dimitra Giannakopoulou,et al.  Analysing the behaviour of distributed software architectures: a case study , 1997, Proceedings of the Sixth IEEE Computer Society Workshop on Future Trends of Distributed Computing Systems.

[2]  David Garlan,et al.  Proceedings of the first workshop on Self-healing systems , 2002, Fast Software Encryption Workshop.

[3]  Sebastián Uchitel,et al.  System architecture: the context for scenario-based model synthesis , 2004, SIGSOFT '04/FSE-12.

[4]  Wilhelm Schäfer,et al.  Software Engineering — ESEC '95 , 1995, Lecture Notes in Computer Science.

[5]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[6]  Nenad Medvidovic,et al.  Assessing the Suitability of a Standard Design Method for Modeling Software Architectures , 1999, WICSA.

[7]  David Garlan,et al.  Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems , 2004 .

[8]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[9]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[10]  Robert L. Nord,et al.  Describing Software Architecture with UML , 1999, WICSA.

[11]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[12]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[13]  Daniel Jackson,et al.  Alcoa: the Alloy constraint analyzer , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[14]  William F. Gilreath,et al.  Concurrency State Models and Java Programs , 2000, Parallel Distributed Comput. Pract..

[15]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[16]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[17]  Florence Maraninchi,et al.  Mode-Automata: About Modes and States for Reactive Systems , 1998, ESOP.

[18]  Ioannis Georgiadis Self-organising distributed component software architectures , 2001 .

[19]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.