Semantic Analysis of Component-aspect Dynamism for Connector-based Architecture Styles

Architecture Description Languages usually specify software architectures in the levels of types and instances. Components instantiate component types by parameterization and type conformance. Behavioral analysis of dynamic architectures needs to deal with the uncertainty of actual configurations of components, even if the type-level architectural descriptions are explicitly provided. This paper addresses this verification difficulty for connector-based architecture styles, in which all communication channels of a system are between components and a connector. The contribution of this paper is two-fold: (1) We propose a process-algebraic model, in which the main architectural concepts (such as component type and component conformance) and several fundamental architectural properties (i.e. ~ deadlock-freedom, non-starvation, conservation, and completeness) are formulated. (2) We demonstrate that the state space of verification of these properties can be reduced from the entire universe of possible configurations to specific configurations that are fixed according to the type-level architectural descriptions.

[1]  Paolo Ciancarini,et al.  Architecting families of software systems with process algebras , 2002, TSEM.

[2]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[3]  Peyman Oreizy,et al.  Using object-oriented typing to support architectural design in the C2 style , 1996, SIGSOFT '96.

[4]  Antonio Bucchiarone,et al.  Modelling Dynamic Software Architectures using Typed Graph Grammars , 2008, GT-VC@CONCUR.

[5]  Luciano Baresi,et al.  Style-based refinement of dynamic software architectures , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[6]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[7]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

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

[9]  Alessandro Aldini,et al.  On the usability of process algebra: An architectural view , 2005, Theor. Comput. Sci..

[10]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[11]  Erik P. de Vink,et al.  Dynamic consistency in process algebra: From Paradigm to ACP , 2011, Sci. Comput. Program..

[12]  Jeremy S. Bradbury Organizing Definitions and Formalisms for Dynamic Software Architectures , 2004 .

[13]  Alessandro Aldini,et al.  Handling communications in process algebraic architectural description languages: Modeling, verification, and implementation , 2010, J. Syst. Softw..

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

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

[16]  Paola Inverardi,et al.  Static checking of system behaviors using derived component assumptions , 2000, TSEM.

[17]  Antonio Bucchiarone,et al.  Formal Analysis and Verification of Self-Healing Systems , 2010, FASE.

[18]  José M. Troya,et al.  Compatibility and inheritance in software architectures , 2001, Sci. Comput. Program..

[19]  Pablo de la Fuente,et al.  An "abstract process" approach to algebraic dynamic architecture description , 2005, J. Log. Algebraic Methods Program..

[20]  Chengqi Zhang,et al.  An ADL-Approach to Specifying and Analyzing Centralized-Mode Architectural Connection , 2010, ECSA.