Two GI-Dagstuhl seminars related to software engineering for self-adaptive systems took place last fall, each of them having an impact on SEAMS 2015, the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.
An outcome of the seminar on "Control Theory meets Software Engineering" is the following paper to be presented at SEAMS 2015:
Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolas D'Ippolito, Ilias Gerostathopoulos, Andreas Hempel, Henry Hoffmann, Pooyan Jamshidi, Evangelia Kalyvianaki, Cristian Klein, Filip Krikava, Sasa Misailovic, Alessandro Vittorio Papadopoulos, Suprio Ray, Amir Molzam Sharifloo, Stepan Shevtsov, Mateusz Ujma and Thomas Vogel: Software Engineering Meets Control Theory. (Preprint)
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.
An outcome of the seminar on "Software Engineering for Self-Adaptive Systems" is the following paper to be presented at SEAMS 2015:
Sebastian Götz, Ilias Gerostathopoulos, Filip Krikava, Adnan Shahzada, Romina Spalazzese: Adaptive Exchange of Distributed Partial Models@run.time for Highly Dynamic Systems. (Preprint)
Future software systems will be highly dynamic. We are already experiencing, for example, a world where Cyber- Physical Systems (CPSs) play a more and more crucial role. CPSs integrate computational, physical, and networking elements; they comprise a number of subsystems, or entities, that are connected and work together. The open and highly distributed nature of the resulting system gives rise to unanticipated runtime management issues such as the organization of subsystems and resource optimization. In this paper, we focus on the problem of knowledge sharing among cooperating entities of a highly distributed and selfadaptive CPS. Specifically, the research question we address is how to minimize the knowledge that needs to be shared among the entities of a CPS. If all entities share all their knowledge with each other, the performance, energy and memory consumption as well as privacy are unnecessarily negatively impacted. To reduce the amount of knowledge to share between CPS entities, we envision a role-based adaptive knowledge exchange technique working on partial runtime models, i.e., models reflecting only part of the state of the CPS. Our approach supports two adaptation dimensions: the runtime type of knowledge and conditions over the knowledge. We illustrate the feasibility of our technique by discussing its realization based on two state-of-the-art approaches.