Skip to content The Open University

Designing Self-adaptive System using Control Loops

Self-adaptive System consists of Adaptation Engine and Adaptable Software. Adaptable Software is implemented by a set of control loops. We define a process of elaboration for the goal model that extracts a set of control loops from the requirements descriptions as components that constitute extensible systems [1]. A control loop is a cyclic activity flow based on the process control model, which is a model for defining system behaviors. A controller in the model forms a (control) loop consisting of four key activities: collect, analyze, decide, and act. This cycle starts with a collection of relevant data that reflects the current state of the system. The system analyzes the collected data and adjusts its behavior to achieve its goals. After that, the system acts in a way that reflects decisions. We regard such control loops to be independent components that prevent the impact of a change from spreading outside them. When additional requirements appear, new control loops are easy to embed into a system constructed with multiple control loops. Even if the requirements change, the idea of compositional control loops can easily accommodate these changes simply by updating the relevant control loops. We devised a goal model compiler [2] to enable partial design models to be extracted for each evolution and built a programming framework [3] that enables execution of multiple control loops. The goal model compiler identifies multiple control loops from goal-oriented requirements descriptions.


[1]H. Nakagawa, A. Ohsuga, and S. Honiden, ``A goal model elaboration for localizing changes in software evolution'', in emph{Proc. of 21st IEEE International Requirements Engineering Conference (RE'13)}. IEEE, 2013.
[2]H. Nakagawa, A. Ohsuga, and S. Honiden, ``gocc: A configuration compiler for self-adaptive systems using goal-oriented requirements description'', in Proc. of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS'11), pp. 40--49. ACM, 2011.
[3]H. Nakagawa, A. Ohsuga, and S. Honiden, ``Towards dynamic evolution of self-adaptive systems based on dynamic updating of control loops'', in Proc. of IEEE Sixth International Conference on Self-Adaptive and Self-Organizing Systems (SASO'12), pp. 59--68. IEEE, 2012.