Software Architecture Matching by Meta-model Extension and Refinement

The construction of the software architecture (SA) is a key aspect in component-based software development (CBSD). The SA can characterize the system design at a high level, and focus on the computing units as well as their interactions. Nowadays, software runs in an open, dynamic and changeable environment, which requires the SA should be dynamic and able to adapt to changes. The inconsistency of the software architecture caused by adapting to changes may lead to architecture mismatching, which becomes a new challenge for the software development. In this paper, we try to ensure the correctness of architecture matching in two ways. On one hand, we extend the meta-model of xADL 2.0 by adding explicit matching features. Based on these features, we use OCL to verify whether the SA meta-model matches the requirement. On the other hand, we refine the interaction by specifying action abstractions from an implicit behavior view. With these two methods, we can weave matching properties to the SA meta-model at the design stage, which helps to guide the whole software system development.

[1]  Tony Clark,et al.  Object Modeling with the OCL , 2002, Lecture Notes in Computer Science.

[2]  Tony Clark,et al.  Object Modeling with the OCL: The Rationale behind the Object Constraint Language , 2002 .

[3]  Nenad Medvidovic,et al.  Component-based perspective on software mismatch detection and resolution , 2000, IEE Proc. Softw..

[4]  Alessandro Aldini,et al.  A Process Algebraic Approach to Software Architecture Design , 2009 .

[5]  Martin Gogolla,et al.  Object Constraint Language , 2009, Encyclopedia of Database Systems.

[6]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..

[7]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[8]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[9]  David Garlan,et al.  Architectural Mismatch: Why Reuse Is So Hard , 1995, IEEE Softw..

[10]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[11]  Jeannette M. Wing,et al.  Specification matching of software components , 1997 .

[12]  Gwen Salaün,et al.  Formal Methods for Component Description , Coordination and Adaptation , 2004 .

[13]  Peter Henderson,et al.  Behavioural analysis of component-based systems , 2001, Inf. Softw. Technol..

[14]  Kam-Fai Wong,et al.  Component-based software engineering: technologies, development frameworks, and quality assurance schemes , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.