PRISM An overview. automatic verification of systems with stochastic behaviour e.g. due to unreliability, uncertainty, randomisation,

Similar documents
Probabilistic Model Checking and Strategy Synthesis for Robot Navigation

Probabilistic model checking with PRISM

Probabilistic model checking with PRISM

SFM-11:CONNECT Summer School, Bertinoro, June 2011

Probabilistic Model Checking: Advances and Applications

Probabilistic model checking with PRISM

Quantitative analysis with the probabilistic model checker PRISM 1

PRISM: Probabilistic Model Checking for Performance and Reliability Analysis

Probabilistic verification and synthesis

On Verification and Controller Synthesis for Probabilistic Systems at Runtime

Polynomial-Time Verification of PCTL Properties of MDPs with Convex Uncertainties and its Application to Cyber-Physical Systems

Variations on Itai-Rodeh Leader Election for Anonymous Rings and their Analysis in PRISM

Verifying Randomized Distributed Algorithms with PRISM

Probabilistic Model Checking of Randomised Distributed Protocols using PRISM

Modelling and Analysis (and towards Synthesis)

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

CONTROLLER DEPENDABILITY ANALYSIS BY PROBABILISTIC MODEL CHECKING. Marta Kwiatkowska, Gethin Norman and David Parker 1

Evaluating the Reliability of NAND Multiplexing with PRISM

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Verification and Control of Partially Observable Probabilistic Systems

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Probabilistic verification and approximation schemes

A Brief Introduction to Model Checking

Plasma: A new SMC Checker. Axel Legay. In collaboration with L. Traonouez and S. Sedwards.

Stochastic, Hybrid and Real-Time Systems: From Foundations To Applications with Modest

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

The State Explosion Problem

Advances and Challenges of Probabilistic Model Checking

Formal Verification via MCMAS & PRISM

Automated Learning of Probabilistic Assumptions for Compositional Reasoning

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

On Model Checking Techniques for Randomized Distributed Systems. Christel Baier Technische Universität Dresden

Limiting Behavior of Markov Chains with Eager Attractors

Computing Laboratory STOCHASTIC GAMES FOR VERIFICATION OF PROBABILISTIC TIMED AUTOMATA. Marta Kwiatkowska Gethin Norman David Parker CL-RR-09-05

Experiments with Measuring Time in PRISM 4.0

Quantitative Safety Analysis of Non-Deterministic System Architectures

Quantitative Verification and Synthesis of Attack-Defence Scenarios

Quantitative Verification: Models, Techniques and Tools

Evaluating the Reliability of Defect-Tolerant Architectures for Nanotechnology with Probabilistic Model Checking

On the Synergy of Probabilistic Causality Computation and Causality Checking

Symmetry Reduction for Probabilistic Model Checking

Compositional Verification of Probabilistic Systems using Learning

Quantitative Verification: Models, Techniques and Tools

CSL model checking of biochemical networks with Interval Decision Diagrams

Abstractions and Decision Procedures for Effective Software Model Checking


MODEL CHECKING. Arie Gurfinkel

Model Checking. Boris Feigin March 9, University College London

Timo Latvala. March 7, 2004

Analysing Randomized Distributed Algorithms

ADVANCED ROBOTICS. PLAN REPRESENTATION Generalized Stochastic Petri nets and Markov Decision Processes

Leveraging Weighted Automata in Compositional Reasoning about Concurrent Probabilistic Systems

Experiments with Measuring Time in PRISM 4.0 (Addendum)

Probabilistic Planning. George Konidaris

Models for Efficient Timed Verification

Bounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Binary Decision Diagrams and Symbolic Model Checking

Formal Verification of Mobile Network Protocols

State Explosion in Almost-Sure Probabilistic Reachability

Probabilistic model checking A comparison of tools

Numerical vs. Statistical Probabilistic Model Checking: An Empirical Study

ONR MURI AIRFOILS: Animal Inspired Robust Flight with Outer and Inner Loop Strategies. Calin Belta

Statistical Model Checking for Markov Decision Processes

Probabilistic Model Checking of Deadline Properties in the IEEE 1394 FireWire Root Contention Protocol 1

Probabilistic Model Checking (1)

Automata-based Verification - III

Model Checking: An Introduction

Scenario Graphs and Attack Graphs

Towards An Accurate Reliability, Availability and Maintainability Analysis Approach for Satellite Systems Based on Probabilistic Model Checking

Stochastic Model Checking

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014

Response property checking via distributed state space exploration

Automata-Theoretic Model Checking of Reactive Systems

Verification and control of partially observable probabilistic systems

V&V MURI Overview Caltech, October 2008

Model checking and strategy synthesis for mobile autonomy: from theory to practice

Ranking Verification Counterexamples: An Invariant guided approach

Model checking and strategy synthesis for mobile autonomy: from theory to practice

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

A Counterexample Guided Abstraction-Refinement Framework for Markov Decision Processes

A Timed CTL Model Checker for Real-Time Maude

Finite-State Model Checking

Failure detectors Introduction CHAPTER

Synthesis weakness of standard approach. Rational Synthesis

Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast. Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas

for System Modeling, Analysis, and Optimization

ProbVerus: Probabilistic Symbolic Model Checking

Automatic Synthesis of Distributed Protocols

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras

Formal Methods in Software Engineering

Organisation-Oriented Coarse Graining and Refinement of Stochastic Reaction Networks Mu, Chunyan; Dittrich, Peter; Parker, David; Rowe, Jonathan

Planning Under Uncertainty II

TESTING is one of the most important parts of the

7. Queueing Systems. 8. Petri nets vs. State Automata

Automatic Verification of Competitive Stochastic Systems

Universität Konstanz. Department of Computer and Information Science. Master Thesis. Quantitative Analysis of Concurrent System Architectures

Symbolic Semantics and Verification of Stochastic Process Algebras. Symbolische Semantik und Verifikation stochastischer Prozessalgebren

ENES 489p. Verification and Validation: Logic and Control Synthesis

Transcription:

PRISM An overview PRISM is a probabilistic model checker automatic verification of systems with stochastic behaviour e.g. due to unreliability, uncertainty, randomisation, Construction/analysis of probabilistic models discrete- and continuous-time Markov chains, Markov decision processes, probabilistic timed automata Verification of properties in probabilistic temporal logics PCTL, CSL, LTL, PCTL*, quantitative extensions, costs/rewards Various model checking engines and techniques symbolic, explicit-state, simulation-based data structures, symmetry reduction, quantitative abstraction refinement, PRISM is free and open source www.prismmodelchecker.org 2

Overview Probabilistic models model types, modelling language, case studies/benchmarks Property specification temporal logics + extensions Underlying techniques and implementation symbolic/explicit-state, PTA model checking, statistical m/c Future additions probabilistic counterexamples, multi-objective model checking, compositional model checking, stochastic games 3

PRISM - Probabilistic models Discrete-time Markov chains (DTMCs) discrete states + probability for: randomisation, unreliable communication media, Continuous-time Markov chains (CTMCs) discrete states + exponentially distributed delays for: component failures, job arrivals, molecular reactions, Markov decision processes (MDPs) in fact: probabilistic automata [Segala] probability + nondeterminism (e.g. for concurrency, control) for: randomised distributed algorithms, security protocols, Probabilistic timed automata (PTAs) [new in PRISM 4.0] probability, nondeterminism + real-time for wireless comm. protocols, embedded control systems, 4

Probabilistic timed automata (PTAs) Probability + nondeterminism + real-time timed automata + discrete probabilistic choice, or probabilistic automata + real-valued clocks PTA example: message transmission over faulty channel tries:=0 quit tries>n init x 2 fail true x:=0 0.9 retry x 3 send x 1 tries N 0.1 lost x 5 x:=0, tries:=tries+1 done true States locations + data variables Transitions guards and action labels Real-valued clocks state invariants, guards, resets Probability discrete probabilistic choice 5

The PRISM modelling language Simple textual modelling language for probabilistic systems inspired by Reactive Modules formalism [Alur/Henzinger] pta const int N; module transmitter s : [0..3] init 0; tries : [0..N+1] init 0; x : clock; invariant (s=0 x 2) & (s=1 x 5) endinvariant [send] s=0 & tries N & x 1 0.9 : (s =3) + 0.1 : (s =1) & (tries =tries+1) & (x =0); [retry] s=1 & x 3 (s =0) & (x =0); [quit] s=0 & tries>n (s =2); endmodule rewards energy (s=0) : 2.5; endrewards 6

The PRISM modelling language Simple textual modelling language for probabilistic systems inspired by Reactive Modules formalism [Alur/Henzinger] pta const int N; module transmitter s : [0..3] init 0; tries : [0..N+1] init 0; x : clock; invariant (s=0 x 2) & (s=1 x 5) endinvariant [send] s=0 & tries N & x 1 0.9 : (s =3) + 0.1 : (s =1) & (tries =tries+1) & (x =0); [retry] s=1 & x 3 (s =0) & (x =0); [quit] s=0 & tries>n (s =2); endmodule rewards energy (s=0) : 2.5; endrewards Basic ingredients: modules variables commands 7

The PRISM modelling language Simple textual modelling language for probabilistic systems inspired by Reactive Modules formalism [Alur/Henzinger] pta const int N; module transmitter s : [0..3] init 0; tries : [0..N+1] init 0; x : clock; invariant (s=0 x 2) & (s=1 x 5) endinvariant [send] s=0 & tries N & x 1 0.9 : (s =3) + 0.1 : (s =1) & (tries =tries+1) & (x =0); [retry] s=1 & x 3 (s =0) & (x =0); [quit] s=0 & tries>n (s =2); endmodule rewards energy (s=0) : 2.5; endrewards Basic ingredients: modules variables commands New for PTAs: clocks invariants guards/resets 8

The PRISM modelling language Simple textual modelling language for probabilistic systems inspired by Reactive Modules formalism [Alur/Henzinger] pta const int N; module transmitter s : [0..3] init 0; tries : [0..N+1] init 0; x : clock; invariant (s=0 x 2) & (s=1 x 5) endinvariant [send] s=0 & tries N & x 1 0.9 : (s =3) + 0.1 : (s =1) & (tries =tries+1) & (x =0); [retry] s=1 & x 3 (s =0) & (x =0); [quit] s=0 & tries>n (s =2); endmodule rewards energy (s=0) : 2.5; endrewards Basic ingredients: modules variables commands New for PTAs: clocks invariants guards/resets Also: rewards (i.e. costs, prices) parallel composition 9

PRISM Case studies Randomised distributed algorithms consensus, leader election, self-stabilisation, Randomised communication protocols Bluetooth, FireWire, Zeroconf, 802.11, Zigbee, gossiping, Security protocols/systems contract signing, anonymity, pin cracking, quantum crypto, Biological systems cell signalling pathways, DNA computation, Planning & controller synthesis robotics, dynamic power management, Performance & reliability nanotechnology, cloud computing, manufacturing systems, See: www.prismmodelchecker.org/casestudies 10

The PRISM benchmark suite PRISM models are widely used for testing/benchmarking but there are many case studies in several locations can be hard to find the right type of examples for testing The PRISM benchmark suite collection of probabilistic model checking benchmarks designed to make it easy to test/evaluate/compare tools currently, approx. 20 models, of various types and sizes wide range of model checking properties, grouped by type PRISM can also export built models in various formats See: www.prismmodelchecker.org/benchmarks 11

PRISM Property specification Temporal logic-based property specification language subsumes PCTL, CSL, probabilistic LTL, PCTL*, (CTL), Simple examples: P 0.01 [ F crash ] the probability of a crash is at most 0.01 S >0.999 [ up ] long-run probability of availability is >0.999 Usually focus on quantitative (numerical) properties: P =? [ F crash ] what is the probability of a crash occurring? typically, use experiments, i.e. analyse plots/trends in quantitative properties as system parameters vary 12

PRISM Property specification Properties can combine numerical + exhaustive aspects P max=? [ F 10 fail ] worst-case probability of a failure occurring within 10 seconds, for any possible scheduling of system components P =? [ G 0.02! deploy { crash }{max} ] - the maximum probability of an airbag failing to deploy within 0.02s, from any possible crash scenario Reward-based properties (rewards = costs = prices) R { time }=? [ F end ] expected algorithm execution time R { energy }max=? [ C 7200 ] worst-case expected energy consumption during the first 2 hours Properties can be combined with e.g. arithmetic operators e.g. P =? [ F fail 1 ] / P =? [ F fail any ] conditional failure prob. 13

PRISM Underlying techniques Basic ingredients for probabilistic model checking construction of probabilistic model (from high-level descr.) graph-based algorithms (reachability, SCC decomposition, ) iterative numerical computation (lin. equ.s, value iteration, ) Recent additions/extensions (in PRISM 4.0): 1. Explicit-state probabilistic model checking 2. Probabilistic timed automata (PTA) model checking 3. Approximate/statistical model checking 14

Explicit-state (vs. symbolic) techniques To date, PRISM s implementation has been mostly symbolic i.e. (multi-terminal) binary decision diagrams (MT)BDDs can be very compact/efficient for large, structured models 3 model checking engines, but all partially symbolic New explicit-state engine in PRISM no BDDs; uses: vectors, bit-sets, sparse matrices more efficient for small, unstructured models more efficient if model needs to manipulated on-the-fly particularly well suited to prototyping new techniques (designed to be used as a standalone library) also being developed into a fully fledged PRISM engine some additional functionality: e.g. extra techniques for MDPs (policy iteration, ), extra models (CTMDPs, stoch. games) 15

PTA model checking in PRISM Properties for PTAs similar to those for other models: min/max probability of reaching X (within time T) min/max expected cost/reward to reach X But infinite state space necessitates different techniques PRISM has two different approaches to PTA model checking Digital clocks conversion to finite-state MDP preserves min/max probability + expected cost/reward/price (for PTAs with closed, diagonal-free constraints) efficient, in combination with PRISM s symbolic engines Quantitative abstraction refinement zone-based abstractions of PTAs using stochastic games provide lower/upper bounds on quantitative properties automatic iterative abstraction refinement 16

Approximate/statistical model checking Discrete event (Monte Carlo) simulation + sampling much better scalability/applicability, at expense of precision full probabilistic models only (no nondeterminism) PRISM 4.0 has a completely re-written simulator engine two approximate model checking approaches Estimation: approximate result for P =? [ φ ], plus a confidence interval (for a given confidence level) probabilistic guarantee for result precision [Hérault et al.] Acceptance sampling: yes/no answer for P p [ φ ] correct with high probability [Younes/Simmons] stop sampling as soon as the result can be given PRISM implements SPRT (sequential probability ratio test) 17

Future additions to PRISM Recent/current work being integrated into PRISM: 1. Probabilistic counterexamples 2. Multi-objective model checking 3. Compositional probabilistic verification 4. Game-based probabilistic models 5. Incremental probabilistic model checking (see Mateusz s talk) 18

Probabilistic counterexamples In conventional (non-probabilistic) model checking counterexamples are typically single traces to an error and are essential to the usefulness of model checkers Probabilistic counterexamples e.g. for property probability of an error occurring is p sets of error traces with combined probability > p PRISM extended to generate probabilistic counterexamples aim to build small counterexample (few traces) which includes most likely events (largest probabilities) reduces to solving k-shortest paths problem [Han/Katoen] currently use REA algorithm [Jiménez/Marzal] various optimisations possible: regexps, subgraphs, SCCs, 19

Multi-objective model checking Model checking for MDPs quantifies over all adversaries adversary = strategy = policy = resolution of nondeterminism verification: worst case probability of error is always < 0.01 controller synthesis: how to minimise expected run-time? PRISM 4.0 generates optimal (best/worst-case) adversaries Multi-objective probabilistic model checking investigate trade-offs between conflicting objectives e.g. maximum probability of message transmission, assuming expected battery life-time is > 10 hrs PRISM extension extension of property specification language [TACAS 11] support for probabilistic omega-regular and reward properties reduces to solution of linear programming problem 20

Compositional probabilistic verification Assume-guarantee (A-G) framework for MDPs [TACAS 10] assumptions/guarantees are probabilistic safety properties e.g. warn signal sent before shutdown signal with prob. 0.99 can be generalised to more expressive properties [TACAS 11] Example A-G proof rule: M 1 A pa A pa M 2 G pg (ASYM) M 1 M 2 G pg A-G model checking reduces to multi-objective queries every adversary that satisfies A must also satisfy G In progress: integration into PRISM extend input language with automata-based properties allow specification of which proof rule(s) to apply 21

Game-based probabilistic models Game-theoretic approach to model checking models competitive and/or collaborative behaviour e.g. for verification of security protocols, Extending PRISM with stochastic multi-player games native support in PRISM modelling language modules and/or synchronous action labels assigned to players Probabilistic model checking for: PATL: probabilistic version of Alternating Time Temporal Logic can players 1 and 2 collaborate such that the probability of is at least p, whatever players 3 and 4 do? also: cost/reward-based properties reduction to analysis of stochastic two-player games 22

More information More info and resources online www.prismmodelchecker.org Documentation + related papers Tutorials, teaching material, support Case studies repository + benchmark suite Questions welcome 23