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.