ABSTRACT
Self-adaptive software systems are designed to support a number of alternative solutions for fulfilling their requirements. These define an adaptation space. During operation, a self-adaptive system monitors its performance and when it finds that its requirements are not fulfilled, searches its adaptation space to select a best adaptation. Two major problems need to be addressed during the selection process: (a) Handling environmental uncertainty in determining the impact of an adaptation; (b) maintain an optimal equilibrium among conflicting requirements. This position paper investigates the application of Adaptive Model Predictive Control ideas from Control Theory to design self-adaptive software that makes decisions by predicting its future performance for alternative adaptations and selects ones that minimize the cost of requirement failures using quantitative information. The technical details of our proposal are illustrated through the meeting-scheduler exemplar.
- K. Angelopoulos, V. E. S. Souza, and J. Mylopoulos. Dealing with multiple failures in zanshin: a control-theoretic approach. In SEAMS 14, pages 165–174. ACM, 2014. Google ScholarDigital Library
- K. Angelopoulos, V. E. S. Souza, and J. Mylopoulos. Capturing variability in adaptation spaces: A three-peaks approach. In Conceptual Modeling – ER 2015. Paul Johannesson and Mong Li Lee and Stephen W. Liddle and Oscar Pastor, 2015 (to appear).Google ScholarCross Ref
- A. E. Bryson and Y.-C. Ho. Applied Optimal Control: Optimization, Estimation and Control. Taylor & Francis, 1975.Google Scholar
- A. Filieri, M. Maggio, K. Angelopoulos, N. D’Ippolito, I. Gerostathopoulos, A. B. Hempel, H. Hoffmann, P. Jamshidi, E. Kalyvianaki, C. Klein, F. Krikava, S. Misailovic, A. V. Papadopoulos, S. Ray, A. M. Sharifloo, S. Shevtsov, M. Ujma, and T. Vogel. Software engineering meets control theory. In 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pages 71–82, 2015.Google ScholarDigital Library
- H. Ghanbari, M. Litoiu, P. Pawluk, and C. Barna. Replica placement in cloud through simple stochastic model predictive control. In Cloud Computing (CLOUD), 2014 IEEE 7th International Conference on, pages 80–87, June 2014. Google ScholarDigital Library
- I. Houtzager, J.-W. Wingerden, van, and M. Verhaegen. Fast-array recursive closed-loop subspace model identification. In 15th IFAC Symposium on System Identification, volume 15, pages 96–101, 2009.Google ScholarCross Ref
- J. Karlsson and K. Ryan. A cost-value approach for prioritizing requirements. Software, IEEE, 14(5):67–74, Sep 1997. Google ScholarDigital Library
- D. Kusic, J. Kephart, J. Hanson, N. Kandasamy, and G. Jiang. Power and performance management of virtualized computing environments via lookahead control. In Autonomic Computing, 2008. ICAC ’08. International Conference on, pages 3–12, June 2008. Google ScholarDigital Library
- A. Leva, M. Maggio, A. V. Papadopoulos, and F. Terraneo. Control-based operating system design. Control Engineering Series. IET, 2013. Google ScholarDigital Library
- L. Ljung. System Identification: Theory for the User. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1999. Google ScholarDigital Library
- M. Lovera, T. Gustafsson, and M. Verhaegen. Recursive subspace identification of linear and non-linear wiener state-space models. Automatica, 36(11):1639–1650, 2000. Google ScholarDigital Library
- J. Maciejowski. Predictive Control: With Constraints. Prentice Hall, 2002.Google Scholar
- M. Maggio, H. Hoffmann, A. V. Papadopoulos, J. Panerati, M. D. Santambrogio, A. Agarwal, and A. Leva. Comparison of decision making strategies for self-optimization in autonomic computing systems. ACM Transactions on Autonomous and Adaptive Systems, 7(4):36:1–36:32, 2012. Google ScholarDigital Library
- B. Nuseibeh. Conflicting requirements: When the customer is not always right. Requirements Engineering, 1(1):70–71, 1996. Google ScholarDigital Library
- A. V. Papadopoulos, M. Maggio, S. Negro, and A. Leva. General control-theoretical framework for online resource allocation in computing systems. IET Control Theory & Applications, 6(11):1594––1602, 2012.Google ScholarCross Ref
- A. V. Papadopoulos, M. Maggio, F. Terraneo, and A. Leva. A dynamic modelling framework for control-based computing system design. Mathematical and Computer Modelling of Dynamical Systems, 21(3):251–271, 2015.Google ScholarCross Ref
- R. Sebastiani and P. Trentin. Optimathsat: A tool for optimization modulo theories. In In proc. Int. Conf. on Computer Aided verification, CAV’15, 2015 (to appear).Google ScholarCross Ref
- V. E. Souza, A. Lapouchnian, K. Angelopoulos, and J. Mylopoulos. Requirements-driven software evolution. Comput. Sci., 28(4):311–329, Nov. 2013. Google ScholarDigital Library
- G. van der Veen, J.-W. van Wingerden, M. Bergamasco, M. Lovera, and M. Verhaegen. Closed-loop subspace identification methods: an overview. Control Theory Applications, IET, 7(10):1339–1358, July 2013.Google Scholar
- M. Verhaegen and V. Verdult. Filtering and System Identification: A Least Squares Approach. Cambridge University Press, New York, NY, USA, 2012. Google ScholarDigital Library
- Q. Zhang, Q. Zhu, M. Zhani, and R. Boutaba. Dynamic service placement in geographically distributed clouds. In Distributed Computing Systems (ICDCS), 2012 IEEE 32nd International Conference on, pages 526–535, June 2012. Google ScholarDigital Library
Index Terms
- Adaptive predictive control for software systems
Recommendations
Keep it SIMPLEX: satisfying multiple goals with guarantees in control-based self-adaptive systems
FSE 2016: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software EngineeringAn increasingly important concern of software engineers is handling uncertainties at design time, such as environment dynamics that may be difficult to predict or requirements that may change during operation. The idea of self-adaptation is to handle ...
Engineering Self-Adaptive Software Systems: From Requirements to Model Predictive Control
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 ...
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 ...
Comments