Model Checking Hierarchical Probabilistic Systems

Probabilistic modeling is important for random distributed algorithms, bio-systems or decision processes. Probabilistic model checking is a systematic way of analyzing finite-state probabilistic models. Existing probabilistic model checkers have been designed for simple systems without hierarchy. In this paper, we extend the PAT toolkit to support probabilistic model checking of hierarchical complex systems. We propose to use PCSP#, a combination of Hoare's CSP with data and probability, to model such systems. In addition to temporal logic, we allow complex safety properties to be specified by non-probabilistic PCSP# model. Validity of the properties (with probability) is established by refinement checking. Furthermore, we show that refinement checking can be applied to verify probabilistic systems against safety/co-safety temporal logic properties efficiently. We demonstrate the usability and scalability of the extended PAT checker via automated verification of benchmark systems and comparison with state-of-art probabilistic model checkers.

[1]  Jun Sun,et al.  PAT: Towards Flexible Verification under Fairness , 2009, CAV.

[2]  Paul Gastin,et al.  Fast LTL to Büchi Automata Translation , 2001, CAV.

[3]  Shengchao Qin,et al.  PTSC: probability, time and shared-variable concurrency , 2009, Innovations in Systems and Software Engineering.

[4]  Michael Goldsmith,et al.  Hierarchical Compression for Model-Checking CSP or How to Check 1020 Dining Philosophers for Deadlock , 1995, TACAS.

[5]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[6]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[7]  Carroll Morgan,et al.  The Challenge of Probabilistic Event B - Extended Abstract , 2005, ZB.

[8]  R. Bellman A Markovian Decision Process , 1957 .

[9]  Joost-Pieter Katoen,et al.  The Ins and Outs of the Probabilistic Model Checker MRMC , 2009, 2009 Sixth International Conference on the Quantitative Evaluation of Systems.

[10]  Maurice Herlihy,et al.  Fast Randomized Consensus Using Shared Memory , 1990, J. Algorithms.

[11]  Jun Sun,et al.  Integrating Specification and Programs for System Modeling and Verification , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[12]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[13]  Steve A. Schneider,et al.  ZB 2005: Formal Specification and Development in Z and B, 4th International Conference of B and Z Users, Guildford, UK, April 13-15, 2005, Proceedings , 2005, ZB.

[14]  Amir Pnueli,et al.  Verification of multiprocess probabilistic protocols , 1984, PODC '84.

[15]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[16]  A. Prasad Sistla,et al.  Safety, liveness and fairness in temporal logic , 1994, Formal Aspects of Computing.

[17]  Christel Baier,et al.  LiQuor: A tool for Qualitative and Quantitative Linear Time analysis of Reactive Systems , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[18]  Grigore Rosu,et al.  Synthesizing Monitors for Safety Properties , 2002, TACAS.

[19]  Joël Ouaknine,et al.  State/Event-Based Software Model Checking , 2004, IFM.

[20]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.

[21]  Andrew Hinton,et al.  PRISM: A Tool for Automatic Verification of Probabilistic Systems , 2006, TACAS.

[22]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[23]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[24]  S. Serge Barold,et al.  Cardiac Pacemakers Step by Step , 2004 .

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

[26]  Ana Cavalcanti,et al.  FM 2009: Formal Methods, Second World Congress, Eindhoven, The Netherlands, November 2-6, 2009. Proceedings , 2009, FM.

[27]  W. Maisel,et al.  Pacemaker and ICD generator malfunctions: analysis of Food and Drug Administration annual reports. , 2006, JAMA.

[28]  Andrew William Roscoe,et al.  Model-checking CSP , 1994 .

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

[30]  Orna Kupferman,et al.  Model Checking of Safety Properties , 1999, CAV.

[31]  Marc Geilen,et al.  On the Construction of Monitors for Temporal Logic Properties , 2001, RV@CAV.

[32]  Annabelle McIver,et al.  Refinement-oriented probability for CSP , 1996, Formal Aspects of Computing.

[33]  Timo Latvala,et al.  Efficient Model Checking of Safety Properties , 2003, SPIN.

[34]  Yifeng Chen,et al.  Unifying Probability with Nondeterminism , 2009, FM.

[35]  Bowen Alpern,et al.  Recognizing safety and liveness , 2005, Distributed Computing.

[36]  S. Serge Barold,et al.  Cardiac Pacemakers Step by Step: An Illustrated Guide , 2003 .

[37]  Fabio Somenzi,et al.  Efficient Büchi Automata from LTL Formulae , 2000, CAV.

[38]  Joseph Sifakis,et al.  Compiling Real-Time Specifications into Extended Automata , 1992, IEEE Trans. Software Eng..

[39]  Thomas A. Henzinger,et al.  Reactive Modules , 1999, Formal Methods Syst. Des..