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

Similar documents
PRISM 4.0: Verification of Probabilistic Real-Time Systems

Probabilistic Model Checking. Mohammad Roohitavaf

Probabilistic Model Checking

PRISM: A Tool For Stochastic Model Checking

Software verification for ubiquitous computing

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

Incremental Runtime Verification of Probabilistic Systems

Overview of Timed Automata and UPPAAL

Quan%ta%ve Verifica%on: Formal Guarantees for Timeliness, Reliability and Performance

Verification in Continuous Time Recent Advances

Model-Checking and Simulation for Stochastic Timed Systems

Analysis of a Gossip Protocol in PRISM

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

Automatic Verification of the IEEE-1394 Root Contention Protocol with KRONOS and PRISM

Stochastic Games for Verification of Probabilistic Timed Automata

The Modest Toolset: An Integrated Environment for Quantitative Modelling and Verification

PRISM-games: Verification and Strategy Synthesis for Stochastic Multi-player Games with Multiple Objectives

IMPLEMENTATION OF SYMBOLIC MODEL CHECKING FOR PROBABILISTIC SYSTEMS DAVID ANTHONY PARKER

An MTBDD-based Implementation of Forward Reachability for Probabilistic Timed Automata

Grid-enabled Probabilistic Model Checking with PRISM

Stochastic Petri nets

Introduction to Embedded Systems

ISCASMC: A Web-Based Probabilistic Model Checker

Improved BDD-based Discrete Analysis of Timed Systems

With thanks to. Main collaborators on probabilistic model checking

Combining Statistical and Online Model Checking based on UPPAAL and PRISM

Quantitative Safety Analysis of SysML Models

Reliability and Dependability in Computer Networks. CS 552 Computer Networks Side Credits: A. Tjang, W. Sanders

A Simple Tutorial on NuSMV

Model checking optimal finite-horizon control for probabilistic gene regulatory networks

Verifying C & C++ with ESBMC

want turn==me wait req2==0

PVeStA: A Parallel Statistical Model Checking and Quantitative Analysis Tool

Analyzing a Proxy Cache Server Performance Model with the Probabilistic Model Checker PRISM

Reliability Modelling of Disk Subsystems with Probabilistic Model Checking

Lecture 2. Decidability and Verification

Probabilistic Model Checking of Contention Resolution in the IEEE Low-Rate Wireless Personal Area Network Protocol

TIMO: Timed Mobility in Distributed Systems

Using Quantitative Analysis to Implement Autonomic IT Systems

More on Verification and Model Checking

PRISM-games 2.0: A Tool for Multi-Objective Strategy Synthesis for Stochastic Games

Applications of Program analysis in Model-Based Design

Simplifying Itai-Rodeh Leader Election for Anonymous Rings

Chapter 9 Probabilistic Model Checking of SysML Activity Diagrams

Evaluating a probabilistic model checker for modeling and analyzing retrial queueing systems

Temporal Refinement Using SMT and Model Checking with an Application to Physical-Layer Protocols

Towards an Explicit-State Model Checking Framework

Stuck in Traffic (SiT) Attacks

Temporal Logic and Timed Automata

Sérgio Campos, Edmund Clarke

Model Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12

COMPASS: FORMAL METHODS FOR SYSTEM-SOFTWARE CO-ENGINEERING

Transient Analysis Of Stochastic Petri Nets With Interval Decision Diagrams

Concurrent Models of Computation

Efficient Power Management in Wireless Communication

UNIVERSITÄT DES SAARLANDES Fachrichtung 6.2 Informatik Prof. Dr.-Ing. Holger Hermanns

Offline Monte Carlo Tree Search for Statistical Model Checking of Markov Decision Processes

Workstation Cluster. AVACS S3 Phase 2. July 28, 2011

Offline Monte Carlo Tree Search for Statistical Model Checking of Markov Decision Processes

UPPAAL Tutorial. UPPAAL Family

Quantitative Timing Analysis of UML Activity Digrams using Statistical Model Checking

Action Language Verifier, Extended

Overview of SRI s. Lee Pike. June 3, 2005 Overview of SRI s. Symbolic Analysis Laboratory (SAL) Lee Pike

Probabilistic Formal Verification of Communication Network-based Fault Detection, Isolation and Service Restoration System in Smart Grid

Experiences using the UML profile for MARTE to stochastically model postproduction interactive applications

Com S 611 Spring Semester 2007 Discrete Algorithms for Mobile and Wireless Networks. Lecture 3: Tuesday, 23rd January 2007

4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271

Programming Embedded Systems

The UPPAAL Model Checker. Julián Proenza Systems, Robotics and Vision Group. UIB. SPAIN

Markov Decision Processes. (Slides from Mausam)

UPPAAL. Verification Engine, Options & Patterns. Alexandre David

A Platform for High Performance Statistical Model Checking PLASMA

An Introduction to Lustre

Reducing Clocks in Timed Automata while Preserving Bisimulation

Chapter 1. Introduction

Two-stage agent program verification

INF672 Protocol Safety and Verification. Karthik Bhargavan Xavier Rival Thomas Clausen

Verifying Concurrent Programs

Dependable and Secure Systems Dependability

Reducing Fair Stuttering Refinement of Transaction Systems

Sciduction: Combining Induction, Deduction and Structure for Verification and Synthesis

Configurable Software Model Checking

The Spin Model Checker : Part I/II

Introduction to Model Checking

Lecture1: Symbolic Model Checking with BDDs. Edmund M. Clarke, Jr. Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213

COMPASS. COMPASS Tutorial. Correctness, Modeling, and Performance of Aerospace Systems. Version 3.0

An Introduction to UPPAAL. Purandar Bhaduri Dept. of CSE IIT Guwahati

Strategies for simulating pedestrian navigation with multiple reinforcement learning agents

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

A Tutorial on Runtime Verification and Assurance. Ankush Desai EECS 219C

10703 Deep Reinforcement Learning and Control

Distributed Systems Programming (F21DS1) Formal Verification

Priced Timed Automata and Timed Games. Kim G. Larsen Aalborg University, DENMARK

BUFFER STOCKS IN KANBAN CONTROLLED (TRADITIONAL) UNSATURATED MULTI-STAGE PRODUCTION SYSTEM

Model-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner

The Embedded Systems Design Challenge. EPFL Verimag

Under-Approximation Refinement for Timed Automata

Analysis of the Zeroconf Protocol Using UPPAAL

Overview. Probabilistic Programming. Dijkstra s guarded command language: Syntax. Elementary pgcl ingredients. Lecture #4: Probabilistic GCL

AirTight: A Resilient Wireless Communication Protocol for Mixed- Criticality Systems

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 modelling language, case study repository, benchmark suite Verification of properties in probabilistic temporal logics PCTL, CSL, LTL, PCTL*, quantitative extensions, costs/rewards Various model checking engines and techniques symbolic (multi-terminal BDDs), explicit-state data structures, symmetry reduction, quantitative abstraction refinement, simulation-based (approximate/statistical model checking), 2

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) 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, 3

PRISM Property specification Temporal logic-based property specification language subsumes PCTL, CSL, probabilistic LTL, PCTL*, 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? then analyse trends in quantitative properties as system parameters vary 4

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. 5

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 6

Modelling PTAs in PRISM PRISM modelling language textual language, based on guarded commands 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 7

Modelling PTAs in PRISM PRISM modelling language textual language, based on guarded commands 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 8

Modelling PTAs in PRISM PRISM modelling language textual language, based on guarded commands 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 9

Modelling PTAs in PRISM PRISM modelling language textual language, based on guarded commands 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 10

Model checking PTAs in PRISM Properties for PTAs: min/max probability of reaching X (within time T) min/max expected cost/reward to reach X (for linearly-priced PTAs, i.e. reward gain linear with time) PRISM has two different PTA model checking techniques 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 11

Also new in PRISM 4.0 Discrete-event simulation engine newly rewritten for PRISM 4.0 Approximate/statistical model checking approximate results (and confidence interval) for e.g. P =? [ ] acceptance sampling (SPRT) for approximating e.g. P <p [ ] offers improved scalability for fully-probabilistic models Generation of optimal strategies (schedulers, adversaries) for MDPs (and, via digital clocks, for PTAs) New components for developers explicit-state probabilistic model checking library quantitative abstraction refinement component discrete-event simulation engine 12

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 13

More information More info and resources at: www.prismmodelchecker.org download PRISM (free, open source, runs on all major OSs) documentation, tutorials, case studies related papers, teaching material, benchmarks Tool demo session: Tue pm or just ask any time Coming soon: probabilistic counterexample generation multi-objective probabilistic model checking assume-guarantee model checking and more 14