The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
On line software version change using state transfer between processes
Software—Practice & Experience
Dependence Management in Component-Based Distributed Systems
IEEE Concurrency
The Vision of Autonomic Computing
Computer
Specifying Distributed Software Architectures
Proceedings of the 5th European Software Engineering Conference
An Introduction to the Theoretical Aspects of Coloured Petri Nets
A Decade of Concurrency, Reflections and Perspectives, REX School/Symposium
Constructing Adaptive Software in Distributed Systems
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
A Technique for Dynamic Updating of Java Software
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Dymos: a dynamic modification system
Dymos: a dynamic modification system
Enabling autonomic behavior in systems software with hot swapping
IBM Systems Journal
A Modular Approach Enforcing Safe Reconfiguration of Producer-Consumer Applications
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Concurrency Tradeoffs in Dynamic Adaptation
ICDCSW '06 Proceedings of the 26th IEEE International ConferenceWorkshops on Distributed Computing Systems
Self Adaptive Software Problems and Projects
SOFTWARE-EVOLVABILITY '06 Proceedings of the Second International IEEE Workshop on Software Evolvability
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems
International Journal on Software Tools for Technology Transfer (STTT)
CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications
IEEE Transactions on Software Engineering
Design, verification and prototyping the next generation of desktop grid middleware
GPC'12 Proceedings of the 7th international conference on Advances in Grid and Pervasive Computing
Hi-index | 0.00 |
Software systems are increasingly expected to continue operating at run-time with minimal human interaction. They should consequently be equipped with self-adaptation capabilities in order to adapt themselves in response to changes in their execution conditions. While most of the research in this area focuses on individual parts of an adaptive system, our work leverages on this research but tackles the problem where interdependent and distributed adaptations are concurrently performed. In this paper, we approach behavioural changes of component-based systems in two steps. First, we propose a process to individually adapt one component at a time. Second, we elaborate a coordination protocol to maintain globally consistent state when implementing distributed adaptations. Motivated by the potential benefits of using formalisms, we construct a formal model of our protocol using Coloured Petri Nets in order for an adaptive system to be trusted after adaptation. We verify key behavioural properties and conduct CTL model checking to assess the correctness of the model and thereby the correctness of the protocol.