Skip to content The Open University

Dynamic Update and Self-Adaptation: can we fill the gap?

Self-adaptive systems are currently designed to automatically react to changes that are defined at design time. However, modern software systems are also subject to continuous and unanticipated changes. Unanticipated changes may come from the environment and context in which the system is operating, or from the requirements, where new functionality needs to be added or existing functionality needs to be modified. Some of these systems, from financial transaction processing to safety critical applications, must also operate continuously and cannot be stopped. Research in Dynamic Software Updates has the goal of engineering systems that evolve at runtime, without the need of being stopped and restarted. In this talk I'll provide an overview of a specification-oriented perspective of dynamic updates [ghezzi12seams, lamanna13seams]. We define under which condition a dynamic update is safe, and we provide an approach to automatically synthesize a dynamically updating system from changes in the specification. With the vision of having self-adaptive systems that are able to deal with unanticipated changes, we propose future directions for integrating this technique to the different steps of self-adaptation: from the goal model to the automatic generation of self-adaptive systems.


[ghezzi12seams]Ghezzi, C.; Greenyer, J.; Panzica La Manna, V., ``Synthesizing dynamically updating controllers from changes in scenario-based specifications," in Software Engineering for Adaptive and Self-Managing Systems (SEAMS), pp. 145--154, 4-5 June 2012.
[lamanna13seams]V.P. La Manna, J. Greenyer, C. Ghezzi, and C. Brenner, ``Formalizing correctness criteria of dynamic updates derived from specification changes'', in Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS'13), IEEE Press, Piscataway, NJ, USA, pp. 63-72.