A tool for model-checking Markov chains

Abstract.Markov chains are widely used in the context of the performance and reliability modeling of various systems. Model checking of such chains with respect to a given (branching) temporal logic formula has been proposed for both discrete [34, 10] and continuous time settings [7, 12]. In this paper, we describe a prototype model checker for discrete and continuous-time Markov chains, the Erlangen–Twente Markov Chain Checker E⊢MC2, where properties are expressed in appropriate extensions of CTL. We illustrate the general benefits of this approach and discuss the structure of the tool. Furthermore, we report on successful applications of the tool to some examples, highlighting lessons learned during the development and application of E⊢MC2.

[1]  Rob Pooley,et al.  Derivation of Petri Net Performance Models from UML Specifications of Communications Software , 2000, Computer Performance Evaluation / TOOLS.

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

[3]  Moshe Y. Vardi Automatic verification of probabilistic concurrent finite state programs , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[4]  Mihalis Yannakakis,et al.  Verifying temporal properties of finite-state probabilistic programs , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

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

[6]  Danièle Beauquier,et al.  Polytime model checking for timed probabilistic computation tree logic , 1998, Acta Informatica.

[7]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[8]  Adnan Aziz,et al.  It Usually Works: The Temporal Logic of Stochastic Systems , 1995, CAV.

[9]  Christel Baier,et al.  Symbolic Model Checking for Probabilistic Processes , 1997, ICALP.

[10]  Christel Baier,et al.  Model checking for a probabilistic branching time logic with fairness , 1998, Distributed Computing.

[11]  William H. Sanders,et al.  An Efficient Disk-Based Tool for Solving Very Large Markov Models , 1997, Computer Performance Evaluation.

[12]  M. Siegle,et al.  Multi Terminal Binary Decision Diagrams to Represent and Analyse Continuous Time Markov Chains , 1999 .

[13]  Sérgio Vale Aguiar Campos,et al.  ProbVerus: Probabilistic Symbolic Model Checking , 1999, ARTS.

[14]  Boudewijn R. Haverkort,et al.  Performance of computer communication systems - a model-based approach , 1998 .

[15]  Kishor S. Trivedi,et al.  Numerical Transient Solution of Finite Markovian Queueing Systems , 1992 .

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

[17]  Ivan Christoff,et al.  Reasonong about Safety and Liveness Properties for Probabilistic Processes , 1992, FSTTCS.

[18]  Doron A. Peled Combining Partial Order Reductions with On-the-fly Model-Checking , 1994, CAV.

[19]  Marta Z. Kwiatkowska,et al.  Automatic verification of real-time systems with discrete probability distributions , 1999, Theor. Comput. Sci..

[20]  Luca de Alfaro,et al.  Symbolic Model Checking of Probabilistic Processes Using MTBDDs and the Kronecker Representation , 2000, TACAS.

[21]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[22]  Amir Pnueli,et al.  Probabilistic Verification , 1993, Information and Computation.

[23]  Holger Hermanns,et al.  Construction and Verification of Performance and Reliability Models , 2001, Bull. EATCS.

[24]  A. Jensen,et al.  Markoff chains as an aid in the study of Markoff processes , 1953 .

[25]  Ignas G. Niemegeers,et al.  Performability Modelling Tools and Techniques , 1996, Perform. Evaluation.

[26]  William J. Stewart,et al.  Introduction to the numerical solution of Markov Chains , 1994 .

[27]  Bruno Müller-Clostermann,et al.  The QUEST-Approach for the Performance Evaluation of SDL-Systems , 1996, FORTE.

[28]  Joost-Pieter Katoen,et al.  Process algebra for performance evaluation , 2002, Theor. Comput. Sci..

[29]  Joost-Pieter Katoen,et al.  Faster and Symbolic CTMC Model Checking , 2001, PAPM-PROBMIV.

[30]  Roberto Gorrieri,et al.  A Tutorial on EMPA: A Theory of Concurrent Processes with Nondeterminism, Priorities, Probabilities and Time , 1998, Theor. Comput. Sci..

[31]  Joost-Pieter Katoen,et al.  Automated compositional Markov chain generation for a plain-old telephone system , 2000, Sci. Comput. Program..

[32]  Gerard J. Holzmann,et al.  An improved protocol reachability analysis technique , 1988, Softw. Pract. Exp..

[33]  Jane Hillston,et al.  A compositional approach to performance modelling , 1996 .

[34]  Rajeev Alur,et al.  Model-Checking for Probabilistic Real Time Systems , 1991 .

[35]  Holger Hermanns,et al.  Compositional performance modelling with the TIPPtool , 2000, Perform. Evaluation.

[36]  Marta Z. Kwiatkowska,et al.  Verifying Quantitative Properties of Continuous Probabilistic Timed Automata , 2000, CONCUR.

[37]  Mihalis Yannakakis,et al.  The complexity of probabilistic verification , 1995, JACM.

[38]  Kishor S. Trivedi,et al.  Stochastic Petri Net Models of Polling Systems , 1990, IEEE J. Sel. Areas Commun..

[39]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

[40]  Holger Hermanns,et al.  A Markov Chain Model Checker , 2000, TACAS.

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

[42]  R. Segala,et al.  Automatic Verification of Real-Time Systems with Discrete Probability Distributions , 1999, ARTS.

[43]  Christel Baier,et al.  On the Verification of Qualitative Properties of Probabilistic Processes under Fairness Constraints , 1998, Inf. Process. Lett..

[44]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[45]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[46]  Luca de Alfaro,et al.  How to Specify and Verify the Long-Run Average Behavior of Probabilistic Systems , 1998, LICS.

[47]  Lars ke Fredlund The Timing and Probability Workbench: A Tool for Analysing Timed Processes , 1994 .

[48]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[49]  Enrico Macii,et al.  Markovian analysis of large finite state machines , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[50]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

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

[52]  Hans A. Hansson Time and probability in formal design of distributed systems , 1991, DoCS.

[53]  Rajeev Alur,et al.  Model-Checking in Dense Real-time , 1993, Inf. Comput..

[54]  William H. Sanders,et al.  An Efficient Disk-Based Tool for Solving Large Markov Models , 1998, Perform. Evaluation.

[55]  Marco Ajmone Marsan,et al.  A class of generalized stochastic Petri nets for the performance evaluation of multiprocessor systems , 1984, TOCS.

[56]  Robert K. Brayton,et al.  Verifying Continuous Time Markov Chains , 1996, CAV.

[57]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[58]  Peter W. Glynn,et al.  Computing Poisson probabilities , 1988, CACM.

[59]  Christel Baier,et al.  Model Checking Continuous-Time Markov Chains by Transient Analysis , 2000, CAV.