Predictable interactive control of experiments in a service-based remote laboratory
Proceedings of the 1st international conference on PErvasive Technologies Related to Assistive Environments
Correct Execution of Reconfiguration for Stateful Components
Electronic Notes in Theoretical Computer Science (ENTCS)
A formal approach to enforcing consistency in self-adaptive systems
ECSA'10 Proceedings of the 4th European conference on Software architecture
Evaluating the impacts of dynamic reconfiguration on the QoS of running systems
Journal of Systems and Software
Safety implementation of adaptive embedded control components
VECoS'11 Proceedings of the Fifth international conference on Verification and Evaluation of Computer and Communication Systems
Journal of Systems Architecture: the EUROMICRO Journal
Hi-index | 0.00 |
This paper introduces ReDAC, a new algorithm for dynamic reconfiguration of multi-threaded applications. In order to achieve high reliability and availability, distributed component software has to support dynamic reconfiguration. Typical examples include the application of hot-fixes to deal with security vulnerabilities. ReDAC can be implemented on top of the modern component-platforms Java and .NET. We extend the statical term component, denoting a unit of deployment, to runtime by defining a capsule (runtime component instance) to be a set of interconnected objects. This allows us to apply dynamic updates at the level of components during runtime without stopping whole applications. Using system-wide unique identifiers for threads (logical thread IDs), we can detect and also bring capsules into a reconfigurable state by selectively blocking threads, relying on data structures maintained by additional logic integrated into the capsules using aspect-oriented programming. An important contribution of this paper is that ReDAC supports the dynamic reconfiguration of distributed multi-threaded and re-entrant components with cyclic call dependencies.