Lightweight Adaptive Filtering for Efficient Learning and Updating of Probabilistic Models

Adaptive software systems are designed to cope with unpredictable and evolving usage behaviors and environmental conditions. For these systems reasoning mechanisms are needed to drive evolution, which are usually based on models capturing relevant aspects of the running software. The continuous update of these models in evolving environments requires efficient learning procedures, having low overhead and being robust to changes. Most of the available approaches achieve one of these goals at the price of the other. In this paper we propose a lightweight adaptive filter to accurately learn time-varying transition probabilities of discrete time Markov models, which provides robustness to noise and fast adaptation to changes with a very low overhead. A formal stability, unbiasedness and consistency assessment of the learning approach is provided, as well as an experimental comparison with state-of-the-art alternatives.

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

[2]  Lars Grunske,et al.  An Approach to Forecasting QoS Attributes of Web Services Based on ARIMA and GARCH Models , 2012, 2012 IEEE 19th International Conference on Web Services.

[3]  Henry Hoffmann,et al.  Automated design of self-adaptive software with control-theoretical formal guarantees , 2014, Software Engineering & Management.

[4]  Chris Chatfield,et al.  Statistical Inference Regarding Markov Chain Models , 1973 .

[5]  François E. Cellier,et al.  Continuous System Simulation , 2006 .

[6]  Marta Z. Kwiatkowska,et al.  Probabilistic symbolic model checking with PRISM: a hybrid approach , 2004, International Journal on Software Tools for Technology Transfer.

[7]  Radu Calinescu,et al.  Using observation ageing to improve markovian model learning in QoS engineering , 2011, ICPE '11.

[8]  Carlo Ghezzi,et al.  Change-point detection for black-box services , 2010, FSE '10.

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

[10]  Dimitri P. Bertsekas,et al.  Nonlinear Programming , 1997 .

[11]  Carlo Ghezzi,et al.  Reliability Analysis of Component-Based Systems with Multiple Failure Modes , 2010, CBSE.

[12]  Marin Litoiu,et al.  Performance Model Estimation and Tracking Using Optimal Filters , 2008, IEEE Transactions on Software Engineering.

[13]  Robert K. Brayton,et al.  Model-checking continuous-time Markov chains , 2000, TOCL.

[14]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[15]  Christian P. Robert,et al.  Monte Carlo Statistical Methods (Springer Texts in Statistics) , 2005 .

[16]  Radu Calinescu,et al.  Adaptive model learning for continual verification of non-functional properties , 2014, ICPE.

[17]  Gordon S. Blair,et al.  Models@ run.time , 2009, Computer.

[18]  Christian P. Robert,et al.  The Bayesian choice : from decision-theoretic foundations to computational implementation , 2007 .

[19]  Carlo Ghezzi,et al.  Reliability-driven dynamic binding via feedback control , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[20]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.

[21]  T. W. Anderson,et al.  Statistical Inference about Markov Chains , 1957 .

[22]  Christian P. Robert,et al.  Monte Carlo Statistical Methods , 2005, Springer Texts in Statistics.

[23]  Carlo Ghezzi,et al.  Model evolution by run-time parameter adaptation , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[24]  Christel Baier,et al.  Approximate Symbolic Model Checking of Continuous-Time Markov Chains , 1999, CONCUR.

[25]  Lars Grunske,et al.  An Efficient Method for Architecture-Based Reliability Evaluation for Evolving Systems with Changing Parameters , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[26]  Kazufumi Ito,et al.  Lagrange multiplier approach to variational problems and applications , 2008, Advances in design and control.

[27]  Carlo Ghezzi,et al.  Further steps towards efficient runtime verification: Handling probabilistic cost models , 2012, 2012 First International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA).

[28]  Holger Hermanns,et al.  A tool for model-checking Markov chains , 2003, International Journal on Software Tools for Technology Transfer.

[29]  Christel Baier,et al.  Principles of model checking , 2008 .

[30]  Eila Niemelä,et al.  Survey of reliability and availability prediction methods from the viewpoint of software architecture , 2007, Software & Systems Modeling.

[31]  Chris Chatfield,et al.  The Analysis of Time Series: An Introduction , 1981 .

[32]  Carlo Ghezzi,et al.  Mining behavior models from user-intensive web applications , 2014, ICSE.

[33]  William S. Levine The Control Handbook, (three volume set) (Electrical Engineering Handbook) , 2010 .

[34]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[35]  Lars Grunske,et al.  An automated approach to forecasting QoS attributes based on linear and non-linear time series modeling , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[36]  Andrea Bianco,et al.  Model Checking of Probabalistic and Nondeterministic Systems , 1995, FSTTCS.

[37]  K. Schittkowski,et al.  NONLINEAR PROGRAMMING , 2022 .

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

[39]  Lars Grunske,et al.  Specification patterns for probabilistic quality properties , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[40]  Karl Johan Åström,et al.  Computer-Controlled Systems: Theory and Design , 1984 .

[41]  Marta Z. Kwiatkowska Quantitative verification: models, techniques and tools , 2007, ESEC/SIGSOFT FSE.

[42]  Radu Calinescu,et al.  Continual Verification of Non-Functional Properties in Cloud-Based Systems , 2013, NiM-ALP@MoDELS.

[43]  Carlo Ghezzi,et al.  Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[44]  Christel Baier,et al.  Model-Checking Algorithms for Continuous-Time Markov Chains , 2002, IEEE Trans. Software Eng..