A Framework for Statechart Based Component Reconfiguration

This article describes a reconfiguration mechanism for statechart-based software components and presents a framework that supports it. The reconfiguration capability that each component acquires can be used as a mechanism for self-healing and better adapting the component to environmental condition variations. The latter can also be considered as a support for coping with incomplete or bad specifications due to the lack of exact knowledge of the environment. It will also be shown that it can be used to easier resolve composition issues when creating a system by means of component-composition. This framework helps creating statechart based components that reside in the middle ground between a blackbox component and an statechart interpreter. In addition to supporting a Model Driven development style, the framework creates a reflective architecture of the component without any involvement from the developer. This reflectiveness adds the ability to modify the component’s statechart model at run-time and can be used as a basis for a self healing mechanism.

[1]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[2]  Henrique Madeira,et al.  Emulation of Software Faults: A Field Data Study and a Practical Approach , 2006, IEEE Transactions on Software Engineering.

[3]  Luciane Lamour Ferreira,et al.  Reflective Design Patterns to Implement Fault Tolerance , 1998 .

[4]  Philip Koopman,et al.  Elements of the Self-Healing System Problem Space , 2003 .

[5]  Miro Samek,et al.  Practical statecharts in C/C++: Quantum programming for embedded systems , 2002 .

[6]  Franck Barbier MDE-based Design and Implementation of Autonomic Software Components , 2006, 2006 5th IEEE International Conference on Cognitive Informatics.

[7]  Xabier Elkorobarrutia Letona,et al.  Component Adaptation for Correctness in Composite Systems , 2008, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008).

[8]  Gail E. Kaiser,et al.  Manipulating managed execution runtimes to support self-healing systems , 2005, ACM SIGSOFT Softw. Eng. Notes.

[9]  István Majzik,et al.  PROGRAM CODE GENERATION BASED ON UML STATECHART MODELS , 2003 .

[10]  Dilma Da Silva,et al.  Enabling autonomic behavior in systems software with hot swapping , 2003, IBM Syst. J..

[11]  Cecília M. F. Rubira,et al.  Structuring fault-tolerant object-oriented systems using inheritance and delegation , 1994 .

[12]  Michael Eonsuk Shin Self-healing components in robust software architecture for concurrent and distributed systems , 2005, Sci. Comput. Program..

[13]  Richard N. Taylor,et al.  Towards architecture-based self-healing systems , 2002, WOSS '02.

[14]  Debzani Deb,et al.  Adding Self-Healing Capabilities into Legacy Object Oriented Application , 2006, International Conference on Autonomic and Autonomous Systems (ICAS'06).

[15]  Ravishankar K. Iyer,et al.  A system model for dynamically reconfigurable software , 2003, IBM Syst. J..

[16]  Rean Griffith,et al.  Manipulating managed execution runtimes to support self-healing systems , 2005 .