Coyote: a system for constructing fine-grain configurable communication services
ACM Transactions on Computer Systems (TOCS)
Proceedings of the seventeenth ACM symposium on Operating systems principles
ACM Transactions on Programming Languages and Systems (TOPLAS)
Appia: A Flexible Protocol Kernel Supporting Multiple Coordinated Channels
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Osgi Service Platform, Release 3
Osgi Service Platform, Release 3
Software—Practice & Experience
Oz/K: a kernel language for component-based open programming
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Howe's Method for Calculi with Passivation
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
Information and Computation
A model of evolvable components
TGC'10 Proceedings of the 5th international conference on Trustworthly global computing
The kell calculus: a family of higher-order distributed process calculi
GC'04 Proceedings of the 2004 IST/FET international conference on Global Computing
ABS: a core language for abstract behavioral specification
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
A component model for the ABS language
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
Adaptable and evolving software for eternal systems
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Hi-index | 0.00 |
Dynamic reconfiguration, i.e. changing at runtime the communication pattern of a program is challenging for most programs as it is generally impossible to ensure that such modifications won't disrupt current computations. In this paper, we propose a new approach for the integration of components in an object-oriented language that allows safe dynamic reconfiguration. Our approach is built upon futures and object-groups to which we add: i) output ports to represent variability points, ii) critical sections to control when updates of the software can be made and iii) hierarchy to model locations and distribution. These different notions work together to allow dynamic and safe update of a system. We illustrate our approach with a few examples.