Control-Theoretical Software Adaptation: A Systematic Literature Review
(2018) In IEEE Transactions on Software Engineering 44(8). p.784-810- Abstract
- Modern software applications are subject to uncertain operating conditions, such as dynamics in the availability of services and variations of system goals. Consequently, runtime changes cannot be ignored, but often cannot be predicted at design time. Control theory has been identified as a principled way of addressing runtime changes and it has been applied successfully to modify the structure and behavior of software applications. Most of the times, however, the adaptation targeted the resources that the software has available for execution (CPU, storage, etc.) more than the software application itself. This paper investigates the research efforts that have been conducted to make software adaptable by modifying the software rather than... (More)
- Modern software applications are subject to uncertain operating conditions, such as dynamics in the availability of services and variations of system goals. Consequently, runtime changes cannot be ignored, but often cannot be predicted at design time. Control theory has been identified as a principled way of addressing runtime changes and it has been applied successfully to modify the structure and behavior of software applications. Most of the times, however, the adaptation targeted the resources that the software has available for execution (CPU, storage, etc.) more than the software application itself. This paper investigates the research efforts that have been conducted to make software adaptable by modifying the software rather than the resource allocated to its execution. This paper aims to identify: the focus of research on control-theoretical software adaptation; how software is modeled and what control mechanisms are used to adapt software; what software qualities and controller guarantees are considered. To that end, we performed a systematic literature review in which we extracted data from 42 primary studies selected from 1512 papers that resulted from an automatic search. The results of our investigation show that even though the behavior of software is considered non-linear, research efforts use linear models to represent it, with some success. Also, the control strategies that are most often considered are classic control, mostly in the form of Proportional and Integral controllers, and Model Predictive Control. The paper also discusses sensing and actuating strategies that are prominent for software adaptation and the (often neglected) proof of formal properties. Finally, we distill open challenges for control-theoretical software adaptation. (Less)
Please use this url to cite or link to this publication:
https://lup.lub.lu.se/record/0f30869e-a0b3-4459-817e-9a2d1e173964
- author
- Shevtsov, Stepan ; Berekmeri, Mihaly ; Weyns, Danny and Maggio, Martina LU
- organization
- publishing date
- 2018
- type
- Contribution to journal
- publication status
- published
- subject
- in
- IEEE Transactions on Software Engineering
- volume
- 44
- issue
- 8
- pages
- 784 - 810
- publisher
- IEEE - Institute of Electrical and Electronics Engineers Inc.
- external identifiers
-
- scopus:85052241956
- ISSN
- 0098-5589
- DOI
- 10.1109/TSE.2017.2704579
- language
- English
- LU publication?
- yes
- id
- 0f30869e-a0b3-4459-817e-9a2d1e173964
- date added to LUP
- 2017-06-14 23:47:00
- date last changed
- 2024-02-29 16:37:57
@article{0f30869e-a0b3-4459-817e-9a2d1e173964, abstract = {{Modern software applications are subject to uncertain operating conditions, such as dynamics in the availability of services and variations of system goals. Consequently, runtime changes cannot be ignored, but often cannot be predicted at design time. Control theory has been identified as a principled way of addressing runtime changes and it has been applied successfully to modify the structure and behavior of software applications. Most of the times, however, the adaptation targeted the resources that the software has available for execution (CPU, storage, etc.) more than the software application itself. This paper investigates the research efforts that have been conducted to make software adaptable by modifying the software rather than the resource allocated to its execution. This paper aims to identify: the focus of research on control-theoretical software adaptation; how software is modeled and what control mechanisms are used to adapt software; what software qualities and controller guarantees are considered. To that end, we performed a systematic literature review in which we extracted data from 42 primary studies selected from 1512 papers that resulted from an automatic search. The results of our investigation show that even though the behavior of software is considered non-linear, research efforts use linear models to represent it, with some success. Also, the control strategies that are most often considered are classic control, mostly in the form of Proportional and Integral controllers, and Model Predictive Control. The paper also discusses sensing and actuating strategies that are prominent for software adaptation and the (often neglected) proof of formal properties. Finally, we distill open challenges for control-theoretical software adaptation.}}, author = {{Shevtsov, Stepan and Berekmeri, Mihaly and Weyns, Danny and Maggio, Martina}}, issn = {{0098-5589}}, language = {{eng}}, number = {{8}}, pages = {{784--810}}, publisher = {{IEEE - Institute of Electrical and Electronics Engineers Inc.}}, series = {{IEEE Transactions on Software Engineering}}, title = {{Control-Theoretical Software Adaptation: A Systematic Literature Review}}, url = {{https://lup.lub.lu.se/search/files/26947273/2017TSE.pdf}}, doi = {{10.1109/TSE.2017.2704579}}, volume = {{44}}, year = {{2018}}, }