Requirements-based Software System Adaptation in Practice: the Zanshin Framework
In this talk I presented an overview of the Zanshin approach and framework for
the design and development of adaptive systems. Zanshin is a Requirements
Engineering-based framework for the design of adaptive systems that exploits
concepts of Control Theory in order to make the elements of the feedback loops
that provide adaptivity first class citizens in the requirements models. It has
been developed during my PhD [souza12phd]
in the University of Trento,
Italy, with professor John Mylopoulos.
The Zanshin approach can be divided in three main activities that are concerned
with the elicitation/modeling of: (i) Awareness Requirements [souza13book]
as indicators to be monitored; (ii) system parameters and how they affect
indicators (for reconfiguration); and (iii) Evolution
as specific adaptation strategies (to be
enacted when indicators 'fail'). At runtime, the Zanshin framework reads the
specification produced in this process and is able to send adaptation
instructions to the managed system.
Examples presented during the talk can be seen in detail in [souza12phd]
(chapter 7) and the system is also available for download
(https://github.com/sefms-disi-unitn/Zanshin), so others can repeat the same
experiments or create their own.
|[souza12phd]||V.E.S. Souza, ``Requirements-based Software System Adaptation'',
Ph.D Thesis, University of Trento, Italy, 2012.
|[souza13book]||V.E.S. Souza, A. Lapouchnian, W.N. Robinson, and J. Mylopoulos, ``Awareness Requirements'',
in Software Engineering for Self-Adaptive Systems II, vol. 7475,
R. Lemos, H. Giese, H. A. M"uller, and M. Shaw, Eds. Springer, 2013, pp. 133--161.
|[souza13csrd]||V.E.S. Souza, A. Lapouchnian, K. Angelopoulos, and J. Mylopoulos,
``Requirements-driven software evolution'',
in Computer Science - Research and Development, pp. 1--19, 2012.