Orchestrating Safe Behavioural Adaptations of Component-Based Systems

Driven by the ever increasing need for mastering systems complexity in dynamic environments, self-adaptation becomes an important requirement for software systems. Crucially, system consistency must not be compromised during adaptation. In this paper, we approach behavioural adaptations of component-based systems and address the challenge of consistency preservation. To safely adapt an individual component, we provide the usage of alternative adaptation processes rather than being limited to a single one. These processes efficiently manage dependencies between components, even if they are cyclic. In addition, we introduce coordination protocols that can be used when a change of a component may cascade across other components. The amount of required coordination directly depends on the type of adaptation process intended to be performed. Formal models help us to give further confidence in the correctness of the protocols.

[1]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[2]  Andreas Polze,et al.  ReDAC -- Dynamic Reconfiguration of Distributed Component-Based Applications with Cyclic Dependencies , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[3]  Lars Michael Kristensen,et al.  Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems , 2007, International Journal on Software Tools for Technology Transfer.

[4]  Wang Huiqiang,et al.  Research on Mission Hot-Swapping and Dynamic Replacement Mechanism of Mission Component , 2007, 2007 International Conference on Computational Intelligence and Security Workshops (CISW 2007).

[5]  Kaveh M. Moazami-Goudarzi,et al.  Consistency preserving dynamic reconfiguration of distributed systems , 1999 .

[6]  Jeff Magee,et al.  Towards robust self-managed systems , 2008 .

[7]  Nabil Hameurlain,et al.  Dynamic adaptive software components: the MOCAS approach , 2008, CSTST.

[8]  Zièd Choukair,et al.  Dynamic, adaptive and reconfigurable systems overview and prospective vision , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..

[9]  Valérie Issarny,et al.  A dynamic reconfiguration service for CORBA , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[10]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[11]  Rogério de Lemos,et al.  08031 -- Software Engineering for Self-Adaptive Systems: A Research Road Map , 2008, Software Engineering for Self-Adaptive Systems.

[12]  Miguel Alexandre Wermelinger Specification of software architecture reconfiguration , 1999 .

[13]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[14]  Martin Glinz,et al.  The CASA Approach to Autonomic Applications , 2005 .