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.
- 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. Google Scholar
Digital Library
- Frank Allgöwer and Alex Zheng. 2000. Nonlinear Model Predictive Control. Vol. 26. Birkhäuser Basel.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- Karl Johan Åström and Richard M. Murray. 2010. Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Eduardo F. Camacho and Carlos Bordons. 2004. Model Predictive Control. Springer London.Google Scholar
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- Anne Dardenne, Axel van Lamsweerde, and Stephen Fickas. 1993. Goal-directed requirements acquisition. Sci. Comput. Program. 20, 1 (1993), 3--50. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
- 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.Google Scholar
- 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. Google Scholar
Digital Library
- Pontus Giselsson. 2014. Improved fast dual gradient methods for embedded model predictive control. In IFAC World Congress, Vol. 19. 2303--2309.Google Scholar
Cross Ref
- 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.Google Scholar
Cross Ref
- 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.Google Scholar
Cross Ref
- 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.Google Scholar
Cross Ref
- 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.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- Joachim Karlsson and Kevin Ryan. 1997. A cost-value approach for prioritizing requirements. IEEE Softw. 14, 5 (Sept. 1997), 67--74. Google Scholar
Digital Library
- Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (Jan. 2003), 41--50. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Mayuresh V. Kothare, Venkataramanan Balakrishnan, and Manfred Morari. 1996. Robust constrained model predictive control using linear matrix inequalities. Automatica 32, 10 (1996), 1361--1379. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- 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.Google Scholar
- Lennart Ljung. 1999. System Identification: Theory for the User. Prentice Hall PTR, Upper Saddle River, NJ. Google Scholar
Digital Library
- Lennart Ljung. 2010. Approaches to identification of nonlinear systems. In 2010 29th Chinese Control Conference (CCC’10). 1--5.Google Scholar
- Jan M. Maciejowski. 2002. Predictive Control: With Constraints. Prentice Hall.Google Scholar
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- S. Joe Qin and Thomas A. Badgwell. 2003. A survey of industrial model predictive control technology. Control Eng. Pract. 11, 7 (2003), 733--764.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- Yang Wang and S. Boyd. 2010. Fast model predictive control using online optimization. IEEE Trans. Control Syst. Technol. 18, 2 (March 2010), 267--278.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
Index Terms
Engineering Self-Adaptive Software Systems: From Requirements to Model Predictive Control
Recommendations
Model predictive control for software systems with CobRA
SEAMS '16: Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsSelf-adaptive software systems monitor their operation and adapt when their requirements fail due to unexpected phenomena in their environment. This paper examines the case where the environment changes dynamically over time and the chosen adaptation ...
Adaptive Knowledge Bases in Self-Adaptive System Design
SEAA '15: Proceedings of the 2015 41st Euromicro Conference on Software Engineering and Advanced ApplicationsSelf-adaptive systems allow for flexible solutions in changing environments. Usually, a fixed set of predefined rules is used to define the adaptation possibilities of a system. The main problem of such systems is to cope with environment behaviours ...
Benchmarking and Evaluation Support for Self-Adaptive Distributed Systems
CISIS '12: Proceedings of the 2012 Sixth International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS)Increasingly, distributed systems have to deal with highly dynamic and hardly predictable environments. This trend, in conjunction with rising demands for sophisticated non-functional system requirements, challenges both the development and operation (...






Comments