by Filieri, Antonio, Maggio, Martina, Angelopoulos, Konstantinos, D'Ippolito, Nicolas, Gerostathopoulos, Ilias, Hempel, Andreas Berndt, Hoffmann, Henry, Jamshidi, Pooyan, Kalyvianaki, Evangelia, Klein, Cristian, Krikava, Filip, Misailovic, Sasa, Papadopoulos, Alessandro Vittorio, Ray, Suprio, Sharifloo, Amir M., Shevtsov, Stepan, Ujma, Mateusz and Vogel, Thomas
Abstract:
The pervasiveness and growing complexity of software systems is challenging software engineering to design systems that can adapt their behavior to withstand unpredictable, uncertain, and continuously changing execution environments. Control theoretical adaptation mechanisms received a growing interest in the last years for their mathematical grounding allowing formal guarantees on the behavior of the controlled systems. However, most of these mechanisms are tailored to specific applications and can hardly be generalized into a systematic design process. This paper discusses a reference control design process, from goal identification to the verification and validation of the controlled system. A taxonomy of the main control strategies is introduced, analyzing their applicability to software adaptation for both functional and non-functional goals. A brief extract on how to deal with uncertainty complements the discussion. Finally, the paper highlights a set of open challenges, both for the software engineering and the control theory research communities.
Reference:
Control Strategies for Self-Adaptive Software Systems (Filieri, Antonio, Maggio, Martina, Angelopoulos, Konstantinos, D'Ippolito, Nicolas, Gerostathopoulos, Ilias, Hempel, Andreas Berndt, Hoffmann, Henry, Jamshidi, Pooyan, Kalyvianaki, Evangelia, Klein, Cristian, Krikava, Filip, Misailovic, Sasa, Papadopoulos, Alessandro Vittorio, Ray, Suprio, Sharifloo, Amir M., Shevtsov, Stepan, Ujma, Mateusz and Vogel, Thomas), In ACM Trans. Auton. Adapt. Syst., volume tbd, 2017.
Bibtex Entry:
@Article{Filieri+2017,
AUTHOR = {Filieri, Antonio and Maggio, Martina and Angelopoulos,
Konstantinos and D'Ippolito, Nicolas and Gerostathopoulos, Ilias
and Hempel, Andreas Berndt and Hoffmann, Henry and Jamshidi, Pooyan
and Kalyvianaki, Evangelia and Klein, Cristian and Krikava, Filip
and Misailovic, Sasa and Papadopoulos, Alessandro Vittorio and Ray,
Suprio and Sharifloo, Amir M. and Shevtsov, Stepan and Ujma, Mateusz
and Vogel, Thomas},
TITLE = {{Control Strategies for Self-Adaptive Software Systems}},
YEAR = {2017},
JOURNAL = {ACM Trans. Auton. Adapt. Syst.},
VOLUME = {tbd},
NUMBER = {tbd},
PAGES = {tbd},
ABSTRACT = {The pervasiveness and growing complexity of software
systems is challenging software engineering to design systems that
can adapt their behavior to withstand unpredictable, uncertain, and
continuously changing execution environments. Control theoretical
adaptation mechanisms received a growing interest in the last years
for their mathematical grounding allowing formal guarantees on the
behavior of the controlled systems. However, most of these mechanisms
are tailored to specific applications and can hardly be generalized
into a systematic design process. This paper discusses a reference
control design process, from goal identification to the verification
and validation of the controlled system. A taxonomy of the main control
strategies is introduced, analyzing their applicability to software
adaptation for both functional and non-functional goals. A brief extract
on how to deal with uncertainty complements the discussion. Finally,
the paper highlights a set of open challenges, both for the software
engineering and the control theory research communities.},
ANNOTE = {(to appear)}
}