Skip to content The Open University

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 Requirements [souza13csrd] 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 (, 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.