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, and Thomas Vogel. “Software Engineering meets Control Theory”. In: International Symposium on Software Engineering for Adaptive and Self-Managing Systems. SEAMS ’15. IEEE, 2015, pp. 71–82. DOI: 10.1109/SEAMS.2015.12


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.


    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 = {International Symposium on Software Engineering for Adaptive and Self-Managing Systems},
    series = {SEAMS~'15},
    publisher = {IEEE},
    pages = {71--82},
    doi = {10.1109/SEAMS.2015.12},