Abstract
Modern software should satisfy multiple goals simultaneously: it should provide predictable performance, be robust to failures, handle peak loads and deal seamlessly with unexpected conditions and changes in the execution environment. For this to happen, software designs should account for the possibility of runtime changes and provide formal guarantees of the software's behavior. Control theory is one of the possible design drivers for runtime adaptation, but adopting control theoretic principles often requires additional, specialized knowledge. To overcome this limitation, automated methodologies have been proposed to extract the necessary information from experimental data and design a control system for runtime adaptation. These proposals, however, only process one goal at a time, creating a chain of controllers. In this paper, we propose and evaluate the first automated strategy that takes into account multiple goals without separating them into multiple control strategies. Avoiding the separation allows us to tackle a larger class of problems and provide stronger guarantees. We test our methodology's generality with three case studies that demonstrate its broad applicability in meeting performance, reliability, quality, security, and energy goals despite environmental or requirements changes.
Original language | English |
---|---|
Title of host publication | ESEC/FSE 2017 Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering |
Publisher | Association for Computing Machinery (ACM) |
Pages | 373-384 |
ISBN (Electronic) | 978-1-4503-5105-8 |
DOIs | |
Publication status | Published - 2017 |
Event | 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering - Paderborn, Germany Duration: 2017 Sept 4 → 2017 Sept 8 |
Conference
Conference | 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering |
---|---|
Country/Territory | Germany |
City | Paderborn |
Period | 2017/09/04 → 2017/09/08 |
Subject classification (UKÄ)
- Control Engineering
- Software Engineering