Adaptive predictive control for software systems

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.

[1]  Bashar Nuseibeh,et al.  Conflicting requirements: When the customer is not always right , 1996, Requirements Engineering.

[2]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[3]  John Mylopoulos,et al.  Dealing with multiple failures in zanshin: a control-theoretic approach , 2014, SEAMS 2014.

[4]  Ladan Tahvildari,et al.  Requirements driven software evolution , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[5]  V. Verdult,et al.  Filtering and System Identification: A Least Squares Approach , 2007 .

[6]  Roberto Sebastiani,et al.  OptiMathSAT: A Tool for Optimization Modulo Theories , 2015, Journal of Automated Reasoning.

[7]  Michel Verhaegen,et al.  Closed-loop subspace identification methods: an overview , 2013 .

[8]  Henry Hoffmann,et al.  Comparison of Decision-Making Strategies for Self-Optimization in Autonomic Computing Systems , 2012, TAAS.

[9]  Marin Litoiu,et al.  Replica Placement in Cloud through Simple Stochastic Model Predictive Control , 2014, 2014 IEEE 7th International Conference on Cloud Computing.

[10]  Nagarajan Kandasamy,et al.  Power and performance management of virtualized computing environments via lookahead control , 2008, 2008 International Conference on Autonomic Computing.

[11]  Alberto Leva,et al.  A dynamic modelling framework for control-based computing system design , 2015 .

[12]  Alberto Leva,et al.  Control-Based Operating System Design , 2013, IET Control Engineering Series.

[13]  John Mylopoulos,et al.  Capturing Variability in Adaptation Spaces: A Three-Peaks Approach , 2015, ER.

[14]  Quanyan Zhu,et al.  Dynamic Service Placement in Geographically Distributed Clouds , 2012, IEEE Journal on Selected Areas in Communications.

[15]  Jan M. Maciejowski,et al.  Predictive control : with constraints , 2002 .

[16]  Michel Verhaegen,et al.  Recursive subspace identification of linear and non-linear Wiener state-space models , 2000, Autom..

[17]  George M. Siouris,et al.  Applied Optimal Control: Optimization, Estimation, and Control , 1979, IEEE Transactions on Systems, Man, and Cybernetics.

[18]  Lennart Ljung,et al.  System Identification: Theory for the User , 1987 .

[19]  Alberto Leva,et al.  General control-theoretical framework for online resource allocation in computing systems , 2012 .

[20]  Michel Verhaegen,et al.  Fast-array Recursive Closed-loop Subspace Model Identification , 2009 .

[21]  Thomas Vogel,et al.  Software Engineering Meets Control Theory , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.