QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs

In this paper we focus on the formalization of component-based architecture self-reconfiguration as an action associated to quality-of-service (QoS) contracts violation. With this, we aim to develop on the vision of the component-based software engineering (CBSE) as a generator of software artifacts responsible for QoS contracts. This formalization, together with a definition of a QoS contract, forms the basis of the framework we propose to enable a system to preserve its QoS contracts. Our approach is built on a theory of extended graph (e-graph) rewriting as a formalism to represent QoS contracts, component-based architectural structures and architecture reconfiguration. We use a rule-based strategy for the extensible part of our framework. The reconfiguration rules are expressed as e-graph rewriting rules whose left and right hand sides can be used to encode design patterns for addressing QoS properties. These rules, given by a QoS property domain expert, are checked as safe , i.e., terminating and confluent, before its application by graph pattern-matching over the runtime representation of the system.

[1]  Petr Hnetynka,et al.  Dynamic Reconfiguration and Access to Services in Hierarchical Component Models , 2006, CBSE.

[2]  Tharam S. Dillon,et al.  On the Move to Meaningful Internet Systems, OTM 2010 , 2010, Lecture Notes in Computer Science.

[3]  MeyerBertrand,et al.  Design by Contract , 1997 .

[4]  Philippe Collet,et al.  Compositional Patterns of Non-Functional Properties for Contract Negotiation , 2007, J. Softw..

[5]  Hidekazu Tsuji,et al.  A Survey and Analysis on Semantics in QoS for Web Services , 2009, 2009 International Conference on Advanced Information Networking and Applications.

[6]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[7]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[8]  Heiko Ludwig,et al.  The WSLA Framework: Specifying and Monitoring Service Level Agreements for Web Services , 2003, Journal of Network and Systems Management.

[9]  Santiago Comella-Dorda,et al.  Volume II: Technical Concepts of Component-Based Software Engineering , 2000 .

[10]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[11]  Heiko Ludwig,et al.  Web Service Level Agreement (WSLA) Language Specification , 2003 .

[12]  Philippe Collet,et al.  Patterns for Integrating and Exploiting Some Non-Functional Properties in Hierarchical Software Components , 2007, 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07).

[13]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[14]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[15]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .

[16]  Javier Cubo,et al.  A Formal Framework for Structural Reconfiguration of Components under Behavioural Adaptation , 2010, Electron. Notes Theor. Comput. Sci..

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

[18]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[19]  Xinhua Zhuang,et al.  Network friendly media security: rationales, solutions, and open issues , 2004, 2004 International Conference on Image Processing, 2004. ICIP '04..

[20]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[21]  Frank Eliassen,et al.  A Pluggable and Reconfigurable Architecture for a Context-Aware Enabling Middleware System , 2008, OTM Conferences.

[22]  Peyman Oreizy,et al.  Architectural styles for runtime software adaptation , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[23]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[24]  Romain Rouvoy,et al.  Scalable Processing of Context Information with COSMOS , 2007, DAIS.

[25]  Jay Ramachandran,et al.  Designing Security Architecture Solutions , 2002 .