Adaptive model learning for continual verification of non-functional properties

A growing number of business and safety-critical services are delivered by computer systems designed to reconfigure in response to changes in workloads, requirements and internal state. In recent work, we showed how a formal technique called continual verification can be used to ensure that such systems continue to satisfy their reliability and performance requirements as they evolve, and we presented the challenges associated with the new technique. In this paper, we address important instances of two of these challenges, namely the maintenance of up-to-date reliability models and the adoption of continual verification in engineering practice. To address the first challenge, we introduce a new method for learning the parameters of the reliability models from observations of the system behaviour. This method is capable of adapting to variations in the frequency of the available system observations, yielding faster and more accurate learning than existing solutions. To tackle the second challenge, we present a new software engineering tool that enables developers to use our adaptive learning and continual verification in the area of service-based systems, without a formal verification background and with minimal effort.

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

[2]  Radu Calinescu,et al.  Emerging Techniques for the Engineering of Self-Adaptive High-Integrity Software , 2013, Assurances for Self-Adaptive Systems.

[3]  Radu Calinescu,et al.  Using quantitative analysis to implement autonomic IT systems , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[4]  Christel Baier,et al.  Validation of Stochastic Systems: A Guide to Current Research (Lecture Notes in Computer Science) , 2004 .

[5]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[6]  John N. Tsitsiklis,et al.  Introduction to Probability , 2002 .

[7]  Charles M. Grinstead,et al.  Introduction to probability , 1999, Statistics for the Behavioural Sciences.

[8]  Jean-Louis Deneubourg,et al.  Aggregation Dynamics in Overlay Networks and Their Implications for Self-Organized Distributed Applications , 2009, Comput. J..

[9]  Radu Calinescu,et al.  Developing self-verifying service-based systems , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[10]  Emiliano Casalicchio,et al.  Scalable service selection for Web service composition supporting differentiated QoS classes , 2007 .

[11]  Radu Calinescu,et al.  An incremental verification framework for component-based software systems , 2013, CBSE '13.

[12]  Danilo Ardagna,et al.  Adaptive Service Composition in Flexible Processes , 2007, IEEE Transactions on Software Engineering.

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

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

[15]  Giovanna Di Marzo Serugendo,et al.  Designing Self-Organization for Evolvable Assembly Systems , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems.

[16]  Xindong Wu,et al.  Optimizing Service Systems Based on Application-Level QoS , 2009, IEEE Transactions on Services Computing.

[17]  Hongyang Qu,et al.  Incremental Runtime Verification of Probabilistic Systems , 2012, RV.

[18]  Håkan L. S. Younes Ymer: A Statistical Model Checker , 2005, CAV.

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

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

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

[22]  Hongyang Qu,et al.  Assume-Guarantee Verification for Probabilistic Systems , 2010, TACAS.

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

[24]  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).

[25]  Joost-Pieter Katoen,et al.  A Markov reward model checker , 2005, Second International Conference on the Quantitative Evaluation of Systems (QEST'05).

[26]  Maria Luisa Villani,et al.  A framework for QoS-aware binding and re-binding of composite web services , 2008, J. Syst. Softw..

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

[28]  Carlo Ghezzi,et al.  Quality Prediction of Service Compositions through Probabilistic Model Checking , 2008, QoSA.

[29]  Anne H. H. Ngu,et al.  QoS-aware middleware for Web services composition , 2004, IEEE Transactions on Software Engineering.

[30]  Raffaela Mirandola,et al.  Performance Prediction of Web Service Workflows , 2007, QoSA.

[31]  Daniel A. Menascé,et al.  QoS management in service-oriented architectures , 2007, Perform. Evaluation.

[32]  Frank Ciesinski,et al.  On Probabilistic Computation Tree Logic , 2004, Validation of Stochastic Systems.

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

[34]  Kishor S. Trivedi,et al.  Stochastic Modeling of Composite Web Services for Closed-Form Analysis of Their Performance and Reliability Bottlenecks , 2007, ICSOC.

[35]  Radu Calinescu,et al.  Compositional Reverification of Probabilistic Safety Properties for Large-Scale Complex IT Systems , 2012, Monterey Workshop.

[36]  Marin Litoiu,et al.  Tracking time-varying parameters in software systems with extended Kalman filters , 2015, CASCON.