RaM: Causally-Connected and Requirements-Aware Runtime Models using Bayesian Learning

[Context/Motivation] A model at runtime can be defined as an abstract representation of a system, including its structure and behaviour, which exist alongside with the running system. Runtime models provide support for decision-making and reasoning based on design-time knowledge but, also based on information that may emerge at runtime and which was not foreseen before execution. [Questions/Problems] A challenge that persists is the update of runtime models during the execution to support up-to-date information for reasoning and decision-making. New techniques based on machine learning (ML) and Bayesian Learning offer great potential to support the update of runtime models during execution. Runtime models can be updated using these new techniques to, therefore, offer better-informed decision-making based on evidence collected at runtime. The techniques we use in this paper are based on a novel implementation of Partially Observable Markov Decision Processes (POMDPs). [Contribution] In this paper, we demonstrate how given the requirements specification, a Requirements-aware runtime model based on POMDPs (RaM-POMDP) is defined. We study in detail the nature of such runtime models coupled with consideration of the Bayesian inference algorithms and tools that provide evidence of unexpected/surprising changes in the environment. We show how the RaM-POMDPs and the MAPE-K loop offer the basis of the software architecture presented and how the required casual connection of runtime models is realized. Specifically, we demonstrate how according to evidence of changes in the systems, collected by the monitoring infrastructure and using Bayesian inference, the runtime models are updated and inferred (i.e. the first aspect of the causal connection). We also demonstrate how the running system changes its runtime model, producing therefore the corresponding self-adaptations. These self-adaptations are reflected on the managed system (i.e. the second aspect of the causal connection) to better satisfice the requirements specifications and improve conformance to its service level agreements (SLAs). The experiments have been applied to a real case study for the networking application domain.

[1]  Dirk Beyer,et al.  Designing for Disasters , 2004, FAST.

[2]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[3]  Betty H. C. Cheng,et al.  Automated Optimization of Weighted Non-functional Objectives in Self-adaptive Systems , 2018, SSBSE.

[4]  John Wilkes,et al.  Seneca: remote mirroring done write , 2003, USENIX Annual Technical Conference, General Track.

[5]  Joel Veness,et al.  Monte-Carlo Planning in Large POMDPs , 2010, NIPS.

[6]  Judea Pearl,et al.  Probabilistic reasoning in intelligent systems - networks of plausible inference , 1991, Morgan Kaufmann series in representation and reasoning.

[7]  Nelly Bencomo,et al.  RELAX: a language to address uncertainty in self-adaptive systems requirement , 2010, Requirements Engineering.

[8]  Carlo Ghezzi,et al.  A formal approach to adaptive software: continuous assurance of non-functional requirements , 2011, Formal Aspects of Computing.

[9]  Jeremy E. Oakley,et al.  A web-based tool for eliciting probability distributions from experts , 2014, Environ. Model. Softw..

[10]  Bashar Nuseibeh,et al.  Feed me, feed me: an exemplar for engineering adaptive software , 2016, SEAMS@ICSE.

[11]  Nelly Bencomo,et al.  Models@run.time: a guided tour of the state of the art and research challenges , 2018, Software & Systems Modeling.

[12]  Nelly Bencomo,et al.  Reflecting on the past and the present with temporal graph-based models , 2018, MODELS Workshops.

[13]  Sam Malek,et al.  Taming uncertainty in self-adaptive software , 2011, ESEC/FSE '11.

[14]  Sebastian VanSyckel,et al.  A survey on engineering approaches for self-adaptive systems , 2015, Pervasive Mob. Comput..

[15]  David Hsu,et al.  Intention-aware online POMDP planning for autonomous driving in a crowd , 2015, 2015 IEEE International Conference on Robotics and Automation (ICRA).

[16]  David Garlan,et al.  Uncertainty Reduction in Self-Adaptive Systems , 2018, 2018 IEEE/ACM 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[17]  Carlo Ghezzi,et al.  Supporting Self-Adaptation via Quantitative Verification and Sensitivity Analysis at Run Time , 2016, IEEE Transactions on Software Engineering.

[18]  Hanna Kurniawati,et al.  An Online POMDP Solver for Uncertainty Planning in Dynamic Environment , 2013, ISRR.

[19]  Brice Morin,et al.  An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability , 2008, MoDELS.

[20]  Erik M. Fredericks Mitigating uncertainty at design time and run time to address assurance for dynamically adaptive systems , 2015 .

[21]  Bradley R. Schmerl,et al.  Reasoning about sensing uncertainty and its reduction in decision-making for self-adaptation , 2018, Sci. Comput. Program..

[22]  Nelly Bencomo,et al.  Querying and Annotating Model Histories with Time-Aware Patterns , 2019, 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS).

[23]  Rajarshi Das,et al.  Utility functions in autonomic systems , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[24]  Nicolas Marchand,et al.  Feedback Control as MAPE-K Loop in Autonomic Computing , 2013, Software Engineering for Self-Adaptive Systems.

[25]  Nelly Bencomo,et al.  Relaxing claims: coping with uncertainty while evaluating assumptions at run time , 2012, MODELS'12.

[26]  Sindhu R Johnson,et al.  A valid and reliable belief elicitation method for Bayesian priors. , 2010, Journal of clinical epidemiology.

[27]  Siobhán Clarke,et al.  Self-adaptation with End-User Preferences: Using Run-Time Models and Constraint Solving , 2013, MoDELS.

[28]  Peter Norvig,et al.  Artificial intelligence - a modern approach: the intelligent agent book , 1995, Prentice Hall series in artificial intelligence.

[29]  Marta Kwiatkowska,et al.  Probabilistic model checking: advances and applications , 2018 .

[30]  David Hsu,et al.  DESPOT: Online POMDP Planning with Regularization , 2013, NIPS.

[31]  Takeo Kanade,et al.  Software Engineering for Self-Adaptive Systems II , 2013, Lecture Notes in Computer Science.

[32]  Wei Zhang,et al.  Requirements-Driven Dynamic Adaptation to Mitigate Runtime Uncertainties for Self-Adaptive Systems , 2017, ArXiv.

[33]  Sam Malek,et al.  Uncertainty in Self-Adaptive Software Systems , 2010, Software Engineering for Self-Adaptive Systems.

[34]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[35]  Nelly Bencomo,et al.  Juggling Preferences in a World of Uncertainty , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[36]  Nelly Bencomo,et al.  A world full of surprises: bayesian theory of surprise to quantify degrees of uncertainty , 2014, ICSE Companion.

[37]  G. Padwick Guest Editor's Introduction , 1986, Computer.

[38]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[39]  Reid G. Simmons,et al.  Heuristic Search Value Iteration for POMDPs , 2004, UAI.

[40]  Anthony O'Hagan,et al.  Probabilistic uncertainty specification: Overview, elaboration techniques and their application to a mechanistic model of carbon flux , 2012, Environ. Model. Softw..

[41]  Nelly Bencomo,et al.  RE-STORM: Mapping the Decision-Making Problem and Non-functional Requirements Trade-Off to Partially Observable Markov Decision Processes , 2018, 2018 IEEE/ACM 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[42]  Joelle Pineau,et al.  Online Planning Algorithms for POMDPs , 2008, J. Artif. Intell. Res..

[43]  Yijun Yu,et al.  Self-Tuning of Software Systems Through Goal-based Feedback Loop Control , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[44]  Andres J. Ramirez,et al.  A taxonomy of uncertainty for dynamically adaptive systems , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

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

[46]  Nir Friedman,et al.  Probabilistic Graphical Models - Principles and Techniques , 2009 .

[47]  Radu Calinescu,et al.  Dynamic QoS Management and Optimization in Service-Based Systems , 2011, IEEE Transactions on Software Engineering.