Model Checking Continuous-Time Markov Chains
Joost-Pieter Katoen
Software Modeling and Verification Group RWTH Aachen University
associated to University of Twente, Formal Methods and Tools
Lecture at MOVEP Summerschool, July 1, 2010
c JPK
Model Checking Continuous-Time Markov Chains Joost-Pieter Katoen - - PowerPoint PPT Presentation
Model Checking Continuous-Time Markov Chains Joost-Pieter Katoen Software Modeling and Verification Group RWTH Aachen University associated to University of Twente, Formal Methods and Tools Lecture at MOVEP Summerschool, July 1, 2010 c
associated to University of Twente, Formal Methods and Tools
c JPK
c JPK 1
c JPK 2
c JPK 3
c JPK 4
state 1 0.678 state 2 0.9797 state 3 0.1523 state 4 0.2123
0.8 0.2 0.4 0.6
inaccuracy system Model Checking requirements Modeling system model property specification Formalizing
insufficient memory satisfied
up to 107 states
the probability P0.01(✸deadlock) c JPK 5
c JPK 6
1 2
1 2 1 2 1 2
c JPK 7
c JPK 8
c JPK 9
1 9
1 1
3 8 13 18 13 18 25 36 25 36 1 12 1 12 5 36 5 36 1 9 1 9
4 10 5 9 6 8
1 12 1 12 1 9 1 9 5 36 5 36 1 6 1 6 1 6 1 6 1 6 1 6 3 8 2 9
c JPK 10
c JPK 11
0i<n
c JPK 12
c JPK 13
c JPK 14
c JPK 15
c JPK 16
1 9
1 1
3 8 13 18 13 18 25 36 25 36 1 12 1 12 5 36 5 36 1 9 1 9
4 10 5 9 6 8
1 12 1 12 1 9 1 9 5 36 5 36 1 6 1 6 1 6 1 6 1 6 1 6 3 8 2 9
c JPK 17
1 36
1 36
1 9
1 1
3 8 13 18 13 18 25 36 25 36 1 12 1 12 5 36 5 36 1 9 1 9
4 10 5 9 6 8
1 12 1 12 1 9 1 9 5 36 5 36 1 6 1 6 1 6 1 6 1 6 1 6 3 8 2 9
c JPK 18
A
x(1)
b
c JPK 19
c JPK 20
c JPK 21
JPK 22
c JPK 23
c JPK 24
c JPK 25
c JPK 26
(Hansson & Jonsson, 1990)
s′∈S
c JPK 27
s′| =Ψ
s {π ∈ Paths(s) | σ[h] = s′}
c JPK 28
c JPK 29
c JPK 30
c JPK 31
c JPK 32
c JPK 33
−∞
−∞
c JPK 34
0 = 1 − e−λ·d
λ
1 λ2
c JPK 35
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1 2 3 4 5 λ = 0.5 λ = 1.0 λ = 1.5 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1 2 3 4 5 λ = 0.5 λ = 1.0 λ = 1.5
c JPK 36
c JPK 37
c JPK 38
c JPK 39
0 | min(x, y) t}
x
y
c JPK 40
c JPK 41
0 | x y}
=1
c JPK 42
j=1 λj c JPK 43
c JPK 44
c JPK 45
1 2
1 2 1 2 1 2
c JPK 46
25 2
25 2
c JPK 47
c JPK 48
c JPK 49
c JPK 50
k1
k2
k3
c JPK 51
2400 1310 0220 2301 1211 0121 2202 1112 0022 2103 1013 2004 8 3 2 1
1 1000 2 1000
6 2 2 1
1 1000 2 1000
4 1 2 1
1 1000 2 1000
2 1
1 1000
States: init goal enzymes 2 2 substrates 4 complex products 4 Transitions: E + S
1
⇋
1 C 0.001
− − − − → E + P e.g., (xE, xS, xC, xP )
0.001·xC
− − − − − − − → (xE + 1, xS, xC − 1, xP + 1) for xC > 0
c JPK 52
(Kleinrock 1975)
(Molloy 1977)
(Meyer & Sanders 1985)
(Herzog et al., Hillston 1993)
(Smolka et al. 1994)
(Priami et al., Cardelli 2002)
c JPK 53
c JPK 54
1 2 21 21 8 4 4 10
1 2 21 4 21 8 4 10
1 21 21 8 4 10 4 2
1 21 21 8 4 10 4 2
c JPK 55
1 18 1 9 2 3
1 6
c JPK 56
c JPK 57
Proc 1 Proc 2 Proc 3
input
vote vote vote
Voter
c JPK 58
c JPK 59
λ = 0.01 fph, ν = 0.001 fph µ = 1 rph and δ = 0.2 rph ( c book by B.R. Haverkort)
c JPK 60
t→∞ ps(t)
t→∞ p′ s(t) = 0
t→∞ ps(t) · (R−r) = 0
c JPK 61
λ = 0.01 fph, ν = 0.001 fph µ = 1 rph and δ = 0.2 rph
c JPK 62
∞
c JPK 63
1 r is at most the shortest mean residence time in CTMC C
c JPK 64
1 1 4 3 4 3 4 1 2 1 4 2 3 1 2 1 3 6 4 6 6 6
3 1
c JPK 65
∞
i
∞
i=0
kε
i=0
∞
i=kε+1
∞
kε
c JPK 66
2 3 1 3
∞
i=0
i
0!·
1!·
2 3 1 3
2!·
2 3 1 3
c JPK 67
t0
t1
t2
i ti is converging
c JPK 68
c JPK 69
associated to University of Twente, Formal Methods and Tools
c JPK
c JPK 1
c JPK 2
c JPK 3
t0
t1
t2
c JPK 4
c JPK 5
c JPK 6
2]
c JPK 7
c JPK 8
t Φ = true Ut Φ
t ¬Φ) abbreviate P[0,0.5](ϕ) by P0.5(ϕ) and P]0,1](ϕ) by P>0(ϕ) and so on
c JPK 9
JPK 10
2:
c JPK 11
c JPK 12
c JPK 13
c JPK 14
B
s′∈B∩Sat(Φ)
c JPK 15
c JPK 16
4(magenta)
4
c JPK 17
4(magenta)
3
4
c JPK 18
4(magenta)
3 Pr{s |
4
c JPK 19
1 1 6 3 1 2 3 1
4(magenta)
3 Pr{s |
4
1 2 + 1 2 Pr{s′ |
1 2 Pr{s |
1 2
k=0
4
2 3
c JPK 20
4(magenta)
3
3 Pr{s |
6
4
c JPK 21
4(magenta)
2 3 + 2 3·1 6 > 3 4
c JPK 22
4(magenta)
9
c JPK 23
c JPK 24
=Ψ
c JPK 25
c JPK 26
=Φ
=Ψ
with starting distribution pC′(t)
c JPK 27
5⋅105 1⋅106 1.5⋅106 2⋅106 2.5⋅106 101 102 103 104
Crowds protocol (DTMC) Randomised mutex (DTMC) Workstation cluster (CTMC) Tandem queue (CTMC) verification time (in ms) state space size
command-line tool MRMC ran on a Pentium 4, 2.66 GHz, 1 GB RAM laptop
c JPK 28
c JPK 29
c JPK 30
c JPK 31
(Fisler & Vardi, 1998)
c JPK 32
u∈C P(s, u)
c JPK 33
c JPK 34
c JPK 35
c JPK 36
0000 1001 0101 0011 1111 1101 1011 0111 0001
s′∈C R(s, s′)
c JPK 37
C(t) =
C =
t→∞ p′ C(t) =
t→∞
c JPK 38
c JPK 39
c JPK 40
1 9
1 1
3 8 13 18 13 18 25 36 25 36 1 12 1 12 5 36 5 36 1 9 1 9
4 10 5 9 6 8
1 12 1 12 1 9 1 9 5 36 5 36 1 6 1 6 1 6 1 6 1 6 1 6 3 8 2 9
c JPK 41
1 9
1 1
3 8 13 18 13 18 25 36 25 36 1 12 1 12 5 36 5 36 1 9 1 9
4 10 5 9 6 8
1 12 1 12 1 9 1 9 5 36 5 36 1 6 1 6 1 6 1 6 1 6 1 6 3 8 2 9
c JPK 42
1 9
1 1
3 8 13 18 13 18 25 36 25 36 1 12 1 12 5 36 5 36 1 9 1 9
4 10 5 9 6 8
1 12 1 12 1 9 1 9 5 36 5 36 1 6 1 6 1 6 1 6 1 6 1 6 3 8 2 9
c JPK 43
1 9
1 1
3 8 13 18 13 18 25 36 25 36 1 12 1 12 5 36 5 36 1 9 1 9
4 10 5 9 8
1 12 1 12 1 9 1 9 5 36 5 36 1 6 1 6 1 6 1 6 1 6 1 6 3 8 2 9
6
c JPK 44
5 36
1 1
25 36
4,10
1 12 1 6
6,8 5,9
2 9 3 4 13 18 1 6 2 9 5 18 1 9 1 6 1 6 1 9 1 6 c JPK 45
lumped CTMC
OD states transitions
blocks lump + ver. time states time 4 1125 5369 121.9 71 13.5 15.9 9.00 12 37349 236313 7180 1821 642 20.5 11.2 20 231525 1590329 50133 10627 5431 21.8 9.2 28 804837 5750873 195086 35961 24716 22.4 7.9 36 2076773 15187833 5103900 91391 77694 22.7 6.6 40 3101445 22871849 7725041 135752 127489 22.9 6.1
c JPK 46
symmetry reduction
reduced CTMC
N states
states
states time 2 1024 5.6 528 12 2.9 1.93 0.38 3 32768 410 5984 100 59 5.48 2.58 4 1048576 22000 52360 360 820 20.0 18.3 bisimulation minimisation
lumped CTMC
N states
blocks lump time
states time 2 1024 5.6 56 1.4 0.3 18.3 3.3 3 32768 410 252 170 1.3 130 2.4 4 1048576 22000 792 10200 4.8 1324 2.2
c JPK 47
strong weak strong weak bisimulation bisimulation simulation simulation ∼ ≈ ⊑
CSL CSL\ safeCSL safeCSL\ preservation checking partition partition parametric maximal parametric maximal equivalence refinement refinement flow problem flow problem O(m log n) O(n3) O(m2·n) O(m2·n3) graph minimization O(m log n) O(n3) – –
c JPK 48
c JPK 49
c JPK 50
150 mA 50 mA 200 mA 50 mA 150 mA 150 mA 20 mA
adhoc active adhoc idle request wake up launch call initiated connect call active interrupt give up call idle doze accept call incoming ring to doze reconfirm disconnect
transition mean time rate (in min) (per h) accept 20 180 connect 10 360 disconnect 4 15 doze 5 12 give up 1 60 interrupt 1 60 launch 80 0.75 reconfirm 4 15 request 10 6 ring 80 0.75 wake up 16 3.75
c JPK 51
c JPK 52
c JPK 53
state change
c JPK 54
62
c JPK 55
J Ψ)
J Ψ} ∈ L
rΨ} is the least solution of:
r−ρ(s)·x Ψ} dx
c JPK 56
c JPK 57
J Ψ
I Ψ∗
J Ψ
I Ψ∗
c JPK 58
t G)
K∗
s′∈S
C∗
t⊖ρ∗(s)·x G
x ρ(s) *)
K
s′∈S
C∗
t⊖y
K
s′∈S
C
t⊖y
c G´ c JPK 59
c Ψ on MRM C
c Ψ)
c Ψ)
c JPK 60
(Tijms & Veldman 2000)
c Ψ) ≈
=Ψ c/d
c JPK 61
c JPK 62
c JPK 63
c JPK 64
c JPK 65
ausser, FORMATS 2009]
c JPK 66