by Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolas D'Ippolito, Ilias Gerostathopoulos, Andreas Berndt Hempel, Henry Hoffmann, Pooyan Jamshidi, Evangelia Kalyvianaki, Cristian Klein, Filip Krikava, Sasa Misailovic, Alessandro Vittorio Papadopoulos, Suprio Ray, Amir M. Sharifloo, Stepan Shevtsov, Mateusz Ujma, Thomas Vogel
Abstract:
The software engineering community has proposed numerous approaches for making software self-adaptive. These approaches take inspiration from machine learning and control theory, constructing software that monitors and modifies its own behavior to meet goals. Control theory, in particular, has received considerable attention as it represents a general methodology for creating adaptive systems. Control-theoretical software implementations, however, tend to be ad hoc. While such solutions often work in practice, it is difficult to understand and reason about the desired properties and behavior of the resulting adaptive software and its controller. This paper discusses a control design process for software systems which enables automatic analysis and synthesis of a controller that is guaranteed to have the desired properties and behavior. The paper documents the process and illustrates its use in an example that walks through all necessary steps for self-adaptive controller synthesis.
Reference:
Software Engineering meets Control Theory (Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolas D'Ippolito, Ilias Gerostathopoulos, Andreas Berndt Hempel, Henry Hoffmann, Pooyan Jamshidi, Evangelia Kalyvianaki, Cristian Klein, Filip Krikava, Sasa Misailovic, Alessandro Vittorio Papadopoulos, Suprio Ray, Amir M. Sharifloo, Stepan Shevtsov, Mateusz Ujma, Thomas Vogel), In Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, IEEE, 2015.
Bibtex Entry:
@InProceedings{SEmCT15,
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 = {{Software Engineering meets Control Theory}},
YEAR = {2015},
BOOKTITLE = {Proceedings of the 10th International Symposium on Software
Engineering for Adaptive and Self-Managing Systems},
PAGES = {71--82},
SERIES = {SEAMS '15},
PUBLISHER = {IEEE},
URL = {http://dx.doi.org/10.1109/SEAMS.2015.12},
ABSTRACT = {The software engineering community has proposed numerous
approaches for making software self-adaptive. These approaches take
inspiration from machine learning and control theory, constructing
software that monitors and modifies its own behavior to meet
goals. Control theory, in particular, has received considerable
attention as it represents a general methodology for creating adaptive
systems. Control-theoretical software implementations, however, tend to
be ad hoc. While such solutions often work in practice, it is difficult
to understand and reason about the desired properties and behavior
of the resulting adaptive software and its controller. This paper
discusses a control design process for software systems which enables
automatic analysis and synthesis of a controller that is guaranteed
to have the desired properties and behavior. The paper documents the
process and illustrates its use in an example that walks through all
necessary steps for self-adaptive controller synthesis.}
}