Advanced

Automated Control of Multiple Software Goals using Multiple Actuators

Maggio, Martina LU ; Papadopoulos, Alessandro Vittorio LU ; Filieri, Antonio and Hoffmann, Henry (2017) 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering In ESEC/FSE 2017 Proceedings of the 2017 11th Joint Meeting on 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:
author
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
in
ESEC/FSE 2017 Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering
pages
373 - 384
publisher
Association for Computing Machinery, Inc
conference name
11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering
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
2018-05-29 10:49:10
@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, Inc},
  title        = {Automated Control of Multiple Software Goals using Multiple Actuators},
  url          = {http://dx.doi.org/10.1145/3106237.3106247},
  year         = {2017},
}