Towards Reliable Distributed Reconfiguration
Résumé
In component-based software engineering, reconfiguration often refers to the activity of changing a running software system at the component level. Reconfiguration is widely used for evolving and adapting software systems that can not be shut down for update. However, in distributed systems, supporting reconfiguration is a challenging task since a re- configuration consists of distributed reconfiguration actions that need to be coordinated. Particularly, this task becomes much more challenging in the context of unstable networks where nodes may disconnect frequently, even during recon- figuration. To address this challenge, we propose a platform supporting distributed reconfiguration that embodies a so- lution for managing system states at reconfiguration time. We define (1) different system states regarding reconfigu- ration and (2) ways that the system will act accordingly. When a disconnection is detected during a reconfiguration, the systemmay correct reconfiguration plans to continue the reconfiguration if possible, or recover if the reconfiguration fails.