skip to main content
research-article

Engineering Self-Adaptive Software Systems: From Requirements to Model Predictive Control

Published: 16 April 2018 Publication History

Abstract

Self-adaptive software systems monitor their operation and adapt when their requirements fail due to unexpected phenomena in their environment. This article examines the case where the environment changes dynamically over time and the chosen adaptation has to take into account such changes. In control theory, this type of adaptation is known as Model Predictive Control and comes with a well-developed theory and myriad successful applications. The article focuses on modeling the dynamic relationship between requirements and possible adaptations. It then proposes a controller that exploits this relationship to optimize the satisfaction of requirements relative to a cost function. This is accomplished through a model-based framework for designing self-adaptive software systems that can guarantee a certain level of requirements satisfaction over time by dynamically composing adaptation strategies when necessary. The proposed framework is illustrated and evaluated through two simulated systems, namely, the Meeting-Scheduling exemplar and an E-Shop.

References

[1]
Aldeida Aleti, Barbora Buhnova, Lars Grunske, Anne Koziolek, and Indika Meedeniya. 2013. Software architecture optimization methods: A systematic literature review. IEEE Trans. Softw. Eng. 39, 5 (2013), 658--683.
[2]
Frank Allgöwer and Alex Zheng. 2000. Nonlinear Model Predictive Control. Vol. 26. Birkhäuser Basel.
[3]
Konstantinos Angelopoulos, Alessandro Vittorio Papadopoulos, and John Mylopoulos. 2015. Adaptive predictive control for software systems. In Proceedings of the 1st International Workshop on Control Theory for Software Engineering (CTSE’15). ACM, New York, 17--21.
[4]
Konstantinos Angelopoulos, Alessandro Vittorio Papadopoulos, Vítor E. Silva Souza, and John Mylopoulos. 2016. Model predictive control for software systems with CobRA. In Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’16). ACM, New York, 35--46.
[5]
Konstantinos Angelopoulos, Vítor E. Silva Souza, and John Mylopoulos. 2014. Dealing with multiple failures in zanshin: A control-theoretic approach. In 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Proceedings (SEAMS’14). 165--174.
[6]
Konstantinos Angelopoulos, Vítor E. Silva Souza, and John Mylopoulos. 2015. Capturing variability in adaptation spaces: A three-peaks approach. In Proceedings of the 34th International Conference on Conceptual Modeling (ER’15). 384--398.
[7]
Karl Johan Åström and Richard M. Murray. 2010. Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press.
[8]
Yuriy Brun, Giovanna Marzo Serugendo, Cristina Gacek, Holger Giese, Holger Kienle, Marin Litoiu, Hausi Müller, Mauro Pezzè, and Mary Shaw. 2009. Engineering self-adaptive systems through feedback loops. In Software Engineering for Self-Adaptive Systems. Springer-Verlag, Berlin. 48--70.
[9]
Eduardo F. Camacho and Carlos Bordons. 2004. Model Predictive Control. Springer London.
[10]
Javier Cámara, David Garlan, Bradley R. Schmerl, and Ashutosh Pandey. 2015. Optimal planning for architecture-based self-adaptation via model checking of stochastic games. In Proceedings of the 30th Annual ACM Symposium on Applied Computing. 428--435.
[11]
Bihuan Chen, Xin Peng, Yijun Yu, and Wenyun Zhao. 2014. Uncertainty handling in goal-driven self-optimization - Limiting the negative effect on adaptation. J. Syst. Softw. 90 (April 2014), 114--127.
[12]
Shang-Wen Cheng, David Garlan, and Bradley R. Schmerl. 2006. Architecture-based self-adaptation in the presence of multiple objectives. In Proceedings of the 2006 International Workshop on Self-adaptation and Self-Managing Systems (SEAMS’06). 2--8.
[13]
Anne Dardenne, Axel van Lamsweerde, and Stephen Fickas. 1993. Goal-directed requirements acquisition. Sci. Comput. Program. 20, 1 (1993), 3--50.
[14]
Antonio Filieri, Carlo Ghezzi, Alberto Leva, and Martina Maggio. 2011. Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements. In 26th IEEE/ACM International Conference on Automated Software Engineering (ASE’11). 283--292.
[15]
Antonio Filieri, Henry Hoffmann, and Martina Maggio. 2014. Automated design of self-adaptive software with control-theoretical formal guarantees. In 36th International Conference on Software Engineering (ICSE’14). 299--310.
[16]
Antonio Filieri, Henry Hoffmann, and Martina Maggio. 2015. Automated multi-objective control for self-adaptive software design. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’15). ACM, New York, 13--24.
[17]
Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolás D’Ippolito, Ilias Gerostathopoulos, Andreas Berndt Hempel, Henry Hoffmann, Pooyan Jamshidi, Evangelia Kalyvianaki, Cristian Klein, Filip Krikava, Sasa Misailovic, Alessandro Vittorio Papadopoulos, Suprio Ray, Amir M. Sharifloo, Stepan Shevtsov, Mateusz Ujma, and Thomas Vogel. 2017. Control strategies for self-adaptive software systems. ACM Transactions on Autonomous and Adaptive Systems (TAAS) 11, 4 (Feb. 2017), Article 24, 31 pages.
[18]
Wladyslaw Findeisen, Frederic N. Bailey, M. Brdys, Krzysztof Malinowski, Piotr Tatjewski, and A. Wozniak. 1980. Control and coordination in hierarchical systems. John Wiley 8 Sons.
[19]
Mauro Gaggero and Luca Caviglione. 2016. Predictive control for energy-aware consolidation in cloud datacenters. IEEE Transactions on Control Systems Technology 24, 2 (Mar. 2016), 461--474.
[20]
Hamoun Ghanbari, Marin Litoiu, Przemyslaw Pawluk, and Cornel Barna. 2014. Replica placement in cloud through simple stochastic model predictive control. In 2014 IEEE 7th International Conference on Cloud Computing (CLOUD’14). 80--87.
[21]
Pontus Giselsson. 2014. Improved fast dual gradient methods for embedded model predictive control. In IFAC World Congress, Vol. 19. 2303--2309.
[22]
Edward Nicholas Hartley, Juan Luis Jerez, Andrea Suardi, Jan M. Maciejowski, Eric C. Kerrigan, and George A. Constantinides. 2014a. Predictive control using an FPGA with application to aircraft control. IEEE Trans. Control Syst. Technol. 22, 3 (2014), 1006--1017.
[23]
Edward N. Hartley, Juan L. Jerez, Andrea Suardi, Jan M. Maciejowski, Eric C. Kerrigan, and George A. Constantinides. 2014b. Predictive control using an FPGA with application to aircraft control. IEEE Trans. Control Syst. Technol. 22, 3 (May 2014), 1006--1017.
[24]
Clara M. Ionescu, Dana Copot, Anca Maxim, Eva Dulf, Roxana Both, and Robin De Keyser. 2016. Robust autotuning MPC for a class of process control applications. In 2016 IEEE International Conference on Automation, Quality and Testing, Robotics (AQTR’16). 1--6.
[25]
Juan L. Jerez, Paul J. Goulart, Stefan Richter, George A. Constantinides, Eric C. Kerrigan, and Manfred Morari. 2014. Embedded online optimization for model predictive control at megahertz rates. IEEE Trans. Autom. Control 59, 12 (Dec. 2014), 3238--3251.
[26]
Juan L. Jerez, Eric C. Kerrigan, and George A. Constantinides. 2012. A sparse and condensed QP formulation for predictive control of LTI systems. Automatica 48, 5 (2012), 999--1002.
[27]
Joachim Karlsson and Kevin Ryan. 1997. A cost-value approach for prioritizing requirements. IEEE Softw. 14, 5 (Sept. 1997), 67--74.
[28]
Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (Jan. 2003), 41--50.
[29]
Cristian Klein, Alessandro Vittorio Papadopoulos, Manfred Dellkrantz, Jonas Dürango, Martina Maggio, Karl-Erik Årzén, Francisco Hernández-Rodriguez, and Erik Elmroth. 2014. Improving cloud service resilience using brownout-aware load-balancing. In 2014 IEEE 33rd International Symposium on Reliable Distributed Systems (SRDS’14). 31--40.
[30]
Mayuresh V. Kothare, Venkataramanan Balakrishnan, and Manfred Morari. 1996. Robust constrained model predictive control using linear matrix inequalities. Automatica 32, 10 (1996), 1361--1379.
[31]
Dara Kusic, Jeffrey O. Kephart, James E. Hanson, Nagarajan Kandasamy, and Guofei Jiang. 2009. Power and performance management of virtualized computing environments via lookahead control. Cluster Comput. 12, 1 (2009), 1--15.
[32]
Ewnetu Bayuh Lakew, Alessandro Vittorio Papadopoulos, Martina Maggio, Cristian Klein, and Erik Elmroth. 2017. KPI-agnostic control for fine-grained vertical elasticity. In 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid’17). 589--598.
[33]
Emmanuel Letier and Axel van Lamsweerde. 2004. Reasoning about partial goal satisfaction for requirements and design engineering. SIGSOFT Softw. Eng. Notes 29, 6 (Oct. 2004), 53--62.
[34]
Feng-Lin Li, Jennifer Horkoff, John Mylopoulos, Renata S. S. Guizzardi, Giancarlo Guizzardi, Alex Borgida, and Lin Liu. 2014. Non-functional requirements as qualities, with a spice of ontology. In 2014 IEEE 22nd International Requirements Engineering Conference (RE’14). 293--302.
[35]
Wei Liu and George Wang. 2000. Auto-tuning procedure for model-based predictive controller. In 2000 IEEE International Conference on Systems, Man, and Cybernetics, Vol. 5. 3421--3426.
[36]
Lennart Ljung. 1999. System Identification: Theory for the User. Prentice Hall PTR, Upper Saddle River, NJ.
[37]
Lennart Ljung. 2010. Approaches to identification of nonlinear systems. In 2010 29th Chinese Control Conference (CCC’10). 1--5.
[38]
Jan M. Maciejowski. 2002. Predictive Control: With Constraints. Prentice Hall.
[39]
Martina Maggio, Henry Hoffmann, Alessandro Vittorio Papadopoulos, Jacopo Panerati, Marco Domenico Santambrogio, Anant Agarwal, and Alberto Leva. 2012. Comparison of decision making strategies for self-optimization in autonomic computing systems. ACM Trans. Auton. Adaptive Syst. 7, 4, Article 36 (2012), 32 pages.
[40]
Gabriel Moreno, Alessandro Vittorio Papadopoulos, Konstantinos Angelopoulos, Javier Cámara, and Bradley Schmerl. 2017. Comparing model-based predictive approaches to self-adaptation: CobRA and PLA. In 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. 42--53.
[41]
Gabriel A. Moreno, Javier Cámara, David Garlan, and Bradley Schmerl. 2015. Proactive self-adaptation under uncertainty: A probabilistic model checking approach. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’15). ACM, New York, 1--12.
[42]
Alessandro Vittorio Papadopoulos, Martina Maggio, Federico Terraneo, and Alberto Leva. 2015. A dynamic modelling framework for control-based computing system design. Math. Comput. Model. Dynam. Syst. 21, 3 (2015), 251--271.
[43]
S. Joe Qin and Thomas A. Badgwell. 2003. A survey of industrial model predictive control technology. Control Eng. Pract. 11, 7 (2003), 733--764.
[44]
Nilabja Roy, Abhishek Dubey, and Aniruddha Gokhale. 2011. Efficient autoscaling in the cloud using predictive models for workload forecasting. In 2011 IEEE International Conference on Cloud Computing (CLOUD’11). 500--507.
[45]
Stepan Shevtsov and Danny Weyns. 2016. Keep It SIMPLEX: Satisfying multiple goals with guarantees in control-based self-adaptive systems. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE’16). ACM, New York, 229--241.
[46]
Vítor E. Silva Souza, Alexei Lapouchnian, Konstantinos Angelopoulos, and John Mylopoulos. 2013. Requirements-driven software evolution. Comput. Sci. - R&D 28, 4 (2013), 311--329.
[47]
Vítor E. Silva Souza, Alexei Lapouchnian, and John Mylopoulos. 2011. System identification for adaptive software systems: A requirements engineering perspective. In Proceedings of the 30th International Conference on Conceptual Modeling (ER’11). 346--361.
[48]
Vítor E. Silva Souza, Alexei Lapouchnian, and John Mylopoulos. 2012. Requirements-driven qualitative adaptation. In On the Move to Meaningful Internet Systems (OTM’12), Robert Meersman, Hervé Panetto, Tharam Dillon, Stefanie Rinderle-Ma, Peter Dadam, Xiaofang Zhou, Siani Pearson, Alois Ferscha, Sonia Bergamaschi, and Isabel F. Cruz (Eds.). Lecture Notes in Computer Science, Vol. 7565. Springer, Berlin, 342--361.
[49]
Vítor E. Silva Souza, Alexei Lapouchnian, William N. Robinson, and John Mylopoulos. 2011. Awareness requirements for adaptive systems. In 2011 ICSE Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’11). 60--69.
[50]
Daniel Sykes, William Heaven, Jeff Magee, and Jeff Kramer. 2010. Exploiting non-functional preferences in architectural adaptation for self-managed systems. In Proceedings of the 2010 ACM Symposium on Applied Computing (SAC’10). ACM, New York, 431--438.
[51]
Quang N. Tran, Joni Scholten, Leyla Ozkan, and A. C. P. M. Backx. 2014. A model-free approach for auto-tuning of model predictive control. IFAC Proceedings Volumes 47, 3 (2014), 2189--2194. 19th IFAC World Congress.
[52]
Yang Wang and S. Boyd. 2010. Fast model predictive control using online optimization. IEEE Trans. Control Syst. Technol. 18, 2 (March 2010), 267--278.
[53]
Melanie N. Zeilinger, Davide M. Raimondo, Alexander Domahidi, Manfred Morari, and Colin N. Jones. 2014. On real-time robust model predictive control. Automatica 50, 3 (2014), 683--694.
[54]
Parisa Zoghi, Mark Shtern, and Marin Litoiu. 2014. Designing search based adaptive systems: A quantitative approach. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). 7--16.

Cited By

View all
  • (2024)Enhancing Software Architecture Adaptability: A Comprehensive Evaluation MethodSymmetry10.3390/sym1607089416:7(894)Online publication date: 13-Jul-2024
  • (2024)Active Monitoring Mechanism for Control-Based Self-Adaptive SystemsProceedings of the ACM on Software Engineering10.1145/36607891:FSE(1841-1864)Online publication date: 12-Jul-2024
  • (2024)Decomposition of Reliability Requirements for Self-Adaptive Systems Using the NFR FrameworkProceedings of the 20th Brazilian Symposium on Information Systems10.1145/3658271.3658325(1-10)Online publication date: 20-May-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Autonomous and Adaptive Systems
ACM Transactions on Autonomous and Adaptive Systems  Volume 13, Issue 1
March 2018
184 pages
ISSN:1556-4665
EISSN:1556-4703
DOI:10.1145/3208359
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 April 2018
Accepted: 01 May 2017
Revised: 01 February 2017
Received: 01 October 2016
Published in TAAS Volume 13, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Self-adaptive systems
  2. awareness requirements
  3. model predictive control

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)43
  • Downloads (Last 6 weeks)5
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Enhancing Software Architecture Adaptability: A Comprehensive Evaluation MethodSymmetry10.3390/sym1607089416:7(894)Online publication date: 13-Jul-2024
  • (2024)Active Monitoring Mechanism for Control-Based Self-Adaptive SystemsProceedings of the ACM on Software Engineering10.1145/36607891:FSE(1841-1864)Online publication date: 12-Jul-2024
  • (2024)Decomposition of Reliability Requirements for Self-Adaptive Systems Using the NFR FrameworkProceedings of the 20th Brazilian Symposium on Information Systems10.1145/3658271.3658325(1-10)Online publication date: 20-May-2024
  • (2024)Reliable proactive adaptation via prediction fusion and extended stochastic model predictive controlJournal of Systems and Software10.1016/j.jss.2024.112166217:COnline publication date: 1-Nov-2024
  • (2023)Adaptive Controllers and Digital Twin for Self-Adaptive Robotic Manipulators2023 IEEE/ACM 18th Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)10.1109/SEAMS59076.2023.00017(56-67)Online publication date: May-2023
  • (2023)Discovering Runtime Requirements from User Interactions: Ideas and Preliminary Studies2023 IEEE 31st International Requirements Engineering Conference (RE)10.1109/RE57278.2023.00043(323-328)Online publication date: Sep-2023
  • (2023)Modelling temporal goals in runtime goal modelsData & Knowledge Engineering10.1016/j.datak.2023.102205(102205)Online publication date: Jul-2023
  • (2022)An Adaptive System for a Real-Time Matching ApplicationInternational Journal of Web Services Research10.4018/IJWSR.29901819:1(1-22)Online publication date: 15-Apr-2022
  • (2022)Automata-Based Approach to Manage Self-Adaptive Component-Based ArchitecturesInternational Journal of Software Innovation10.4018/IJSI.29762310:1(1-22)Online publication date: 8-Apr-2022
  • (2022)Runtime Software Architecture-Based Reliability Prediction for Self-Adaptive SystemsSymmetry10.3390/sym1403058914:3(589)Online publication date: 16-Mar-2022
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media