PASTA: An Efficient Proactive Adaptation Approach Based on Statistical Model Checking for Self-Adaptive Systems

Proactive adaptation, in which the adaptation for a system’s reliable goal achievement is performed by predicting changes in the environment, is considered as an effective alternative to reactive adaptation, in which adaptation is performed after observing changes. When predicting the environmental changes, the prediction may be uncertain, so it is necessary to verify and confirm an adaptation’s consequences before execution. To resolve the uncertainty, probabilistic model checking (PMC) has been utilized for verification of adaptation tactics’ effects on the goal of a self-adaptive system (SAS). However, PMC-based approaches have limitations on the state-explosion problem of complex SAS model verification and the modeling languages supported by the model checkers. In this paper, to overcome the limitations of the PMC-based approaches, we propose an efficient Proactive Adaptation approach based on STAtistical model checking (PASTA). Our approach allows SASs to mitigate the uncertainty of the future environment, faster than the PMC-based approach, by producing statistically sufficient samples for verification of adaptation tactics based on statistical model checking (SMC) algorithms. We provide algorithmic processes, a reference architecture, and an open-source implementation skeleton of PASTA for engineers to apply it for SAS development. We evaluate PASTA on two SASs using actual data and show that PASTA is efficient comparing to the PMC-based approach. We also provide a comparative analysis of the advantages and disadvantages of PMC- and SMC-based proactive adaptation to guide engineers’ decision-making for SAS development.

[1]  Holger Giese,et al.  Living with Uncertainty in the Age of Runtime Models , 2014, Models@run.time@Dagstuhl.

[2]  Raman Kazhamiakin,et al.  A Framework for Proactive Self-adaptation of Service-Based Applications Based on Online Testing , 2008, ServiceWave.

[3]  Gail Brager,et al.  Thermal comfort in naturally ventilated buildings: revisions to ASHRAE Standard 55 , 2002 .

[4]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[5]  Håkan L. S. Younes,et al.  Verification and planning for stochastic processes with asynchronous events , 2004 .

[6]  Carlo Ghezzi,et al.  Self-adaptive software needs quantitative verification at runtime , 2012, CACM.

[7]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[8]  Kim G. Larsen,et al.  Statistical Model Checking: Past, Present, and Future , 2016, ISoLA.

[9]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[10]  John Mylopoulos,et al.  Model Predictive Control for Software Systems with CobRA , 2016, 2016 IEEE/ACM 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[11]  R. Khan,et al.  Sequential Tests of Statistical Hypotheses. , 1972 .

[12]  Jean-Marc Jézéquel,et al.  A prediction-driven adaptation approach for self-adaptive sensor networks , 2014, SEAMS 2014.

[13]  Bradley R. Schmerl,et al.  Efficient Decision-Making under Uncertainty for Proactive Self-Adaptation , 2016, 2016 IEEE International Conference on Autonomic Computing (ICAC).

[14]  Ilias Gerostathopoulos,et al.  Tuning self-adaptation in cyber-physical systems through architectural homeostasis , 2019, J. Syst. Softw..

[15]  Klaus Pohl,et al.  Proactive Process Adaptation Using Deep Learning Ensembles , 2019, CAiSE.

[16]  Tiziano De Matteis,et al.  Proactive elasticity and energy awareness in data stream processing , 2017, J. Syst. Softw..

[17]  Moonzoo Kim,et al.  Statistical Model Checking for Safety Critical Hybrid Systems: An Empirical Evaluation , 2012, Haifa Verification Conference.

[18]  George Athanasopoulos,et al.  Forecasting: principles and practice , 2013 .

[19]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[20]  Andres J. Ramirez,et al.  Towards run-time testing of dynamic adaptive systems , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[21]  Doo-Hwan Bae,et al.  Data-driven environment modeling for adaptive system-of-systems , 2019, SAC.

[22]  Andreas Metzger Towards accurate failure prediction for the proactive adaptation of service-oriented systems , 2011, ASAS '11.

[23]  Bradley R. Schmerl,et al.  Flexible and Efficient Decision-Making for Proactive Latency-Aware Self-Adaptation , 2018, ACM Trans. Auton. Adapt. Syst..

[24]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[25]  Christian Becker,et al.  SATISFy: Towards a Self-Learning Analyzer for Time Series Forecasting in Self-Improving Systems , 2018, 2018 IEEE 3rd International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[26]  Axel Legay,et al.  PLASMA-lab: A Flexible, Distributable Statistical Model Checking Library , 2013, QEST.

[27]  Sam Malek,et al.  FUSION: a framework for engineering self-tuning self-adaptive software systems , 2010, FSE '10.

[28]  Bernhard K. Aichernig,et al.  Statistical Model Checking Meets Property-Based Testing , 2017, 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[29]  Jian Lu,et al.  Environment rematching: Toward dependability improvement for self-adaptive applications , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[30]  Katsumi Inoue,et al.  Learning revised models for planning in adaptive systems , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[31]  Axel Legay,et al.  Statistical Model Checking: An Overview , 2010, RV.

[32]  Bradley R. Schmerl,et al.  Proactive self-adaptation under uncertainty: a probabilistic model checking approach , 2015, ESEC/SIGSOFT FSE.