Dynamic Software Architectures: Formally Modelling Structure and Behaviour with Pi-ADL

A key aspect of the design of any software system is its architecture. From the perspective of dependability, an effective architecture aims to build fault-free systems, i.e. ensuring fault avoidance. At the architecture level, fault avoidance is achieved by formally describing the structure and behaviour of software systems enabling to check their correctness. Therefore, a software architecture description should provide a formal specification of the architecture in terms of components and connectors and how they behave and are composed together. Further, a dynamic software architecture must provide a specification of how the architecture of the software system can change at runtime. Enabling specification of dynamic architectures is a large challenge for an architecture description language (ADL). This paper presents how Pi-ADL, a novel ADL that has been designed in the ArchWare European Project, can be used for specifying dynamic architectures through a case study.

[1]  Flávio Oquendo,et al.  An Active Architecture Approach to Dynamic Systems Co-evolution , 2007, ECSA.

[2]  Radu Mateescu,et al.  An overview of CADP 2001 , 2001 .

[3]  Flavio Oquendo Les architectures logicielles , 2006 .

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

[5]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[6]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .

[7]  Flávio Oquendo,et al.  ArchWare: Architecting Evolvable Software , 2004, EWSA.

[8]  Flávio Oquendo,et al.  Support for evolving software architectures in the ArchWare ADL , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[9]  Flávio Oquendo,et al.  Architecture-driven software engineering: Specifying, generating, and evolving component- based software systems , 2000, IEE Proc. Softw..

[10]  Flávio Oquendo π-ADL: an Architecture Description Language based on the higher-order typed π-calculus for specifying dynamic and mobile software architectures , 2004, SOEN.

[11]  Richard N. Taylor,et al.  A framework for classifying and comparing architecture description languages , 1997, ESEC '97/FSE-5.

[12]  Cristina Gacek,et al.  Architectural description of dependable software systems , 2006 .

[13]  Cliff B. Jones,et al.  Structure for dependability - computer-based systems from an interdisciplinary perspective , 2005 .

[14]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..