Automated Control of Multiple Software Goals using Multiple Actuators
(2017) 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering p.373-384- 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... (More)
- 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. (Less)
Please use this url to cite or link to this publication:
https://lup.lub.lu.se/record/ebf5e974-11cf-4820-b308-1875a261a4c8
- author
- Maggio, Martina LU ; Papadopoulos, Alessandro Vittorio LU ; Filieri, Antonio and Hoffmann, Henry
- organization
- publishing date
- 2017
- type
- Chapter in Book/Report/Conference proceeding
- publication status
- published
- subject
- host publication
- ESEC/FSE 2017 Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering
- pages
- 373 - 384
- publisher
- Association for Computing Machinery (ACM)
- conference name
- 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering
- conference location
- Paderborn, Germany
- conference dates
- 2017-09-04 - 2017-09-08
- external identifiers
-
- scopus:85030785615
- wos:000414279300036
- ISBN
- 978-1-4503-5105-8
- DOI
- 10.1145/3106237.3106247
- language
- English
- LU publication?
- yes
- id
- ebf5e974-11cf-4820-b308-1875a261a4c8
- date added to LUP
- 2017-08-10 16:39:44
- date last changed
- 2024-02-29 19:40:20
@inproceedings{ebf5e974-11cf-4820-b308-1875a261a4c8, 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.}}, author = {{Maggio, Martina and Papadopoulos, Alessandro Vittorio and Filieri, Antonio and Hoffmann, Henry}}, booktitle = {{ESEC/FSE 2017 Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering}}, isbn = {{978-1-4503-5105-8}}, language = {{eng}}, pages = {{373--384}}, publisher = {{Association for Computing Machinery (ACM)}}, title = {{Automated Control of Multiple Software Goals using Multiple Actuators}}, url = {{https://lup.lub.lu.se/search/files/29412291/paper.pdf}}, doi = {{10.1145/3106237.3106247}}, year = {{2017}}, }