Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Probabilistic model checking with PRISM

This chapter introduces PRISM for modeling and analyzing systems with probabilistic or stochastic behavior.

Goals

Draft

1. Idea

Probabilistic model checking is a formal verification technique for establishing the correctness, performance, and reliablility of systems that exhibit stochastic behavior. A precise mathematical model of a real-life system is constructed first, then formal specifications of properties are automatically analyzed against it. The exploration is exhaustive and combines graph-theoretic algorithms with numerical methods.

Unlike classical model checking, which asks “can this bad state be reached?”, probabilistic model checking asks:

PRISM has been applied across many domains, inculding communication and multimedia protocols, randomized distributed algorithms, security protocols, and biological systems.

The case study in this chapter, PIN cracking in banking ATM netowrks, illustrates how PRISM handles a real-world security scenario using Markov Decision Proccesses (MDPs)

2. Basic Theory

There are different types of probabilistic models PRISM can build and analyze:

ModelTimeNondeterminismUse Case
DTMCDiscreteNoRandomized protocols, games
CTMCContinuousNoPerformance, reliability
MDPDiscreteYesConcurrent or adversarial systems
PTAContinuousYesReal-time systems with clocks
POMDPDiscreteYes (partial obs)Planning under uncertainty
POPTAContinuousYes (partial obs)Real-time systems with hidden state

2.1 Discrete-Time vs. Continuous-Time Markov Models

Discrete-Time Markov Chains (DTMC)

Continuous-Time Markov Chains (CTMC)

2.2 Property Specification

2.3 The PRISM Language

3. Case Study: PIN Cracking Schemes

4. History

5. PRISM Resources

6. References

(Replace this section with your exposition, examples, and references.)