Automated Control of Multiple Software Goals using Multiple Actuators
File(s) 2017-fse.pdf (771.75 KB)
Accepted version
Author(s)
Maggio, M
Papadopoulos, AV
Filieri, A
Hoffmann, H
Type
Conference Paper
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.
Date Issued
2017-08-21
Date Acceptance
2017-08-01
Citation
Proceedings of the 12th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2017, pp.373-384
Publisher
ACM
Start Page
373
End Page
384
Journal / Book Title
Proceedings of the 12th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering
Copyright Statement
© 2017 Association for Computing Machinery. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering https://doi.org/10.1145/3106237.3106247
Source
11TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING
Notes
location: Padeborn, Germany numpages: 12 keywords: Adaptive software, control theory, dynamic systems, non-functional requirements, model predictive control acronym: ESEC/FSE
Publication Status
Published
Start Date
2017-09-04
Finish Date
2017-09-08
Coverage Spatial
PADERBORN, GERMANY, SEPTEMBER
