A Model-Based Framework to Design and Debug Safe Component-Based Autonomic Systems

Building autonomic applications, which are systems that must adapt to their execution context, requires architects to calibrate and validate the adaptation rules by executing their applications in a realistic execution context. Unfortunately, existing works do not allow architects to monitor and visualize the impact of their rules, nor that they let them adjust these rules easily. This paper presents a model-based framework that enables architects to design and debug autonomic systems in an iterative and uniformed process. At design-time, architects can specify, using models, the application's structure and properties, as well as the desired adaptation rules. At debugging-time, the running application and the models coexist such that the models control the application dynamic adaptation, thanks to a control loop that reified runtime events. Each triggered adaptation is first tested at the model level to check that no application property is broken. Furthermore, architects can at any time modify the models in order to adjust the adaptation rules or even parts of the application. All changes at the model level, if checked correct, are directly propagated to the running application. Our solution is generic regarding the underlying platforms and we provide a performance evaluation of our framework implementation.

[1]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[2]  Norman W. Paton,et al.  Active Rules in Database Systems , 1998, Monographs in Computer Science.

[3]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[4]  Emmanuel Cecchet,et al.  Implementing Probes for J2EE Cluster Monitoring , 2005, Stud. Inform. Univ..

[5]  Gilles Vanwormhoudt,et al.  Dynamic and generic manipulation of models: from introspection to scripting , 2006, MoDELS'06.

[6]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[7]  Thierry Coupaye,et al.  An Open Component Model and Its Support in Java , 2004, CBSE.

[8]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[9]  Anne-Françoise Le Meur,et al.  A Model-Based Framework for Statically and Dynamically Checking Component Interactions , 2008, MoDELS.

[10]  Chenyang Lu,et al.  ControlWare: a middleware architecture for feedback control of software performance , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[11]  Tariq M. King,et al.  A reusable object-oriented design to support self-testable autonomic software , 2008, SAC '08.

[12]  Peter H. Golde,et al.  C# Language Specification , 2003 .

[13]  Kevin Lee,et al.  OpenCOM v2: A Component Model for Building Systems Software , 2004 .

[14]  Romain Rouvoy,et al.  Software Architecture Patterns for a Context-Processing Middleware Framework , 2008, IEEE Distributed Systems Online.

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

[16]  Jeffrey O. Kephart,et al.  Research challenges of autonomic computing , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[17]  Klara Nahrstedt,et al.  Dynamic reconfiguration for complex multimedia applications , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[18]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[19]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[20]  Thaís Vasconcelos Batista,et al.  Managing Dynamic Reconfiguration in Component-Based Systems , 2005, EWSA.

[21]  William R Kupchunas Personal Health Record: New Opportunity for Patient Education , 2007, Orthopedic nursing.

[22]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[23]  Sotirios Terzis Proceedings of the 4th international workshop on Middleware for Pervasive and Ad-Hoc Computing (MPAC 2006) , 2005 .

[24]  Thomas Ledoux,et al.  WildCAT: a generic framework for context-aware applications , 2005, MPAC '05.

[25]  Asit Dan,et al.  Web services agreement specification (ws-agreement) , 2004 .

[26]  Anne-Françoise Le Meur,et al.  Architectural Specification and Static Analyses of Contractual Application Properties , 2008, QoSA.