On Model Checking Techniques for Randomized Distributed Systems Christel Baier Technische Universit¨ at Dresden joint work with Nathalie Bertrand Frank Ciesinski Marcus Gr¨
- ßer
1 / 161
On Model Checking Techniques for Randomized Distributed Systems - - PowerPoint PPT Presentation
On Model Checking Techniques for Randomized Distributed Systems Christel Baier Technische Universit at Dresden joint work with Nathalie Bertrand Frank Ciesinski Marcus Gr oer 1 / 161 Probability elsewhere int-01 randomized
1 / 161
int-01
[Rabin 1960]
[Bellman 1957]
[Markov, Erlang, Kolm., ∼ ∼ ∼ 1900]
2 / 161
int-01
[Rabin 1960]
[Bellman 1957]
[Markov, Erlang, Kolm., ∼ ∼ ∼ 1900]
3 / 161
[Clarke/Emerson, Queille/Sifakis]
mc
4 / 161
int-03
5 / 161
int-03
6 / 161
7 / 161
mdp-01
8 / 161
mdp-01
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
9 / 161
mdp-01
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
10 / 161
mdp-02-r
11 / 161
mdp-02-r
12 / 161
mdp-02-r
13 / 161
mdp-02-r
1 4 1 4 1 4 3 4 3 4 3 4 1 2 1 2 1 2 1 6 1 6 1 6 1 3 1 3 1 3
14 / 161
mdp-02-r
s′∈S
1 4 1 4 1 4 3 4 3 4 3 4 1 2 1 2 1 2 1 6 1 6 1 6 1 3 1 3 1 3
15 / 161
mdp-02-r
s′∈S
16 / 161
mdp-05
17 / 161
mdp-05
18 / 161
mdp-05
r e q u e s t
2
r e q u e s t
2
r e q u e s t
2
release1 release1 release1 e n t e r
1
e n t e r
1
e n t e r
1
request1 request1 request1 request2 request2 request2 request2 request2 request2 request1 request1 request1 e n t e r
2
e n t e r
2
e n t e r
2
r e q u e s t
1
r e q u e s t
1
r e q u e s t
1
release2 release2 release2 coin coin coin r e l e a s e2 r e l e a s e2 r e l e a s e2 r e l e a s e1 r e l e a s e1 r e l e a s e1
1 2 1 2 1 2 1 2 1 2 1 2
19 / 161
mdp-05
r e q u e s t
2
r e q u e s t
2
r e q u e s t
2
release1 release1 release1 e n t e r
1
e n t e r
1
e n t e r
1
request1 request1 request1 request2 request2 request2 request2 request2 request2 request1 request1 request1 e n t e r
2
e n t e r
2
e n t e r
2
r e q u e s t
1
r e q u e s t
1
r e q u e s t
1
release2 release2 release2 coin coin coin r e l e a s e2 r e l e a s e2 r e l e a s e2 r e l e a s e1 r e l e a s e1 r e l e a s e1
1 2 1 2 1 2 1 2 1 2 1 2
20 / 161
mdp-05
r e q u e s t
2
r e q u e s t
2
r e q u e s t
2
release1 release1 release1 e n t e r
1
e n t e r
1
e n t e r
1
request1 request1 request1 request2 request2 request2 request2 request2 request2 request1 request1 request1 e n t e r
2
e n t e r
2
e n t e r
2
r e q u e s t
1
r e q u e s t
1
r e q u e s t
1
release2 release2 release2 coin coin coin r e l e a s e2 r e l e a s e2 r e l e a s e2 r e l e a s e1 r e l e a s e1 r e l e a s e1
1 2 1 2 1 2 1 2 1 2 1 2
21 / 161
mdp-05
r e q u e s t
2
r e q u e s t
2
r e q u e s t
2
release1 release1 release1 e n t e r
1
e n t e r
1
e n t e r
1
request1 request1 request1 request2 request2 request2 request2 request2 request2 request1 request1 request1 e n t e r
2
e n t e r
2
e n t e r
2
r e q u e s t
1
r e q u e s t
1
r e q u e s t
1
release2 release2 release2 toss a toss a toss a coin coin coin r e l e a s e2 r e l e a s e2 r e l e a s e2 r e l e a s e1 r e l e a s e1 r e l e a s e1
1 2 1 2 1 2 1 2 1 2 1 2
22 / 161
mdp-10
23 / 161
mdp-10
24 / 161
mdp-10
1 3 1 3 1 3 2 3 2 3 2 3
2 3 2 3 2 3 1 3
1 3
1 3
3
3
3 1 3 1 3 1 3
25 / 161
mdp-10
26 / 161
mdp-10
27 / 161
mdp-10
D
D
D
D
D
D
28 / 161
mdp-15
max(s0, E) = sup D
max(s0, E) = sup D
max(s0, E) = sup D
29 / 161
mdp-15
max(s0, E) = sup D
max(s0, E) = sup D
max(s0, E) = sup D
max(s, E)
max(s, E)
max(s, E) for all s ∈ S
[Vardi/Wolper’86] [Courcoubetis/Yannakakis’88] [Bianco/de Alfaro’95] [Baier/Kwiatkowska’98]
30 / 161
31 / 161
32 / 161
33 / 161
max(s, ϕ)
max(s, ϕ)
max(s, ϕ) =
max
max
max
max(s, ϕ)
max(s, ϕ)
max(s, ϕ) =
max
max
max
35 / 161
max(s, ϕ)
max(s, ϕ)
max(s, ϕ) =
max
max
max
36 / 161
max(s, ϕ)
max(s, ϕ)
max(s, ϕ) =
max
max
max
37 / 161
max(s, ϕ)
max(s, ϕ)
max(s, ϕ) =
max
max
max
38 / 161
max(s, ϕ)
max(s, ϕ)
max(s, ϕ) =
max
max
max
39 / 161
por-01-cmu
[Katoen et al]
[Hermanns/Wachter/Zhang]
[Baier/Ciesinski/Gr¨
40 / 161
por-01-cmu
[Katoen et al]
[Hermanns/Wachter/Zhang]
[Baier/Ciesinski/Gr¨
41 / 161
por-01-cmu
[Katoen et al]
[Hermanns/Wachter/Zhang]
[Baier/Ciesinski/Gr¨
42 / 161
por-02
[Godefroid,Peled,Valmari, ca. 1990]
43 / 161
por-02
[Godefroid,Peled,Valmari, ca. 1990]
44 / 161
por-02
[Godefroid,Peled,Valmari, ca. 1990]
45 / 161
por-02a
46 / 161
por-02a
47 / 161
[Peled 1993]
por-03
48 / 161
[Peled 1993]
por-03
49 / 161
[Peled 1993]
por-03
50 / 161
por-04
51 / 161
por-04
M(E) = PrDr Mr(E)
M(E) = PrDr Mr(E)
M(E) = PrDr Mr(E)
52 / 161
por-06 53 / 161
por-06
α
α
α
β
β
β
α
α
α
β
β
β
54 / 161
por-06
55 / 161
por-06
56 / 161
por-08
57 / 161
por-08
58 / 161
por-08
1 2 1 2 1 2
1 2 1 2 1 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
59 / 161
por-08
1 2 1 2 1 2
1 2 1 2 1 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
max(s, ♦green) = 1
max(s, ♦green) = 1
max(s, ♦green) = 1
60 / 161
por-08
1 2 1 2 1 2
1 2 1 2 1 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
max(s, ♦green) = 1
max(s, ♦green) = 1
max(s, ♦green) = 1 > 1 2 = PrMr max(s, ♦green)
1 2 = PrMr max(s, ♦green)
1 2 = PrMr max(s, ♦green)
61 / 161
por-09
β1
β2
βn
α
β1
β2
βn
α
β1
β2
βn
α
62 / 161
por-09
β1
β2
βn
α
β1
β2
βn
α
β1
β2
βn
α
63 / 161
por-ifm-32
\ \ formula ϕ
64 / 161
por-ifm-32
\ \ formula ϕ
65 / 161
por-ifm-32a
\ \ formula ϕ
66 / 161
67 / 161
pomdp-01
68 / 161
pomdp-01
69 / 161
pomdp-01
70 / 161
pomdp-01
71 / 161
pomdp-01
72 / 161
pomdp-01
73 / 161
pomdp-01
3 2 3 2 3
74 / 161
pomdp-02 75 / 161
pomdp-02
76 / 161
pomdp-02
✟✟✟✟✟✟✟✟✟✟✟✟ ✟ ❍❍❍❍❍❍❍❍❍❍❍❍ ❍ ✟✟✟✟✟✟✟✟✟✟✟✟ ✟ ❍❍❍❍❍❍❍❍❍❍❍❍ ❍ ✟✟✟✟✟✟✟✟✟✟✟✟ ✟ ❍❍❍❍❍❍❍❍❍❍❍❍ ❍
1 1
2 2
3 3
1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3
77 / 161
pomdp-02
1 1
2 2
3 3
1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3
78 / 161
pomdp-02
1 1
2 2
3 3
1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3
79 / 161
pomdp-02
i i
1 1
2 2
3 3
1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3
80 / 161
pomdp-02
i i
3 2 3 2 3
1 1
2 2
3 3
1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3
81 / 161
pomdp-05
82 / 161
pomdp-05
83 / 161
pomdp-05
84 / 161
pomdp-11
85 / 161
pomdp-11
86 / 161
pomdp-11
87 / 161
pomdp-11
max(♦F) > p
max(♦F) > p
max(♦F) > p hold ?”
88 / 161
pomdp-30-new
89 / 161
pomdp-30-new
[Paz’71], [Madani/Hanks/Condon’99], [Giro/d’Argenio’07]
90 / 161
pomdp-30-new
max(♦F)
max(♦F)
max(♦F) > 0
91 / 161
pomdp-30-new
max(♦F)
max(♦F)
max(♦F) > 0
92 / 161
pomdp-30-new
max(♦F)
max(♦F)
max(♦F) > 0
93 / 161
pomdp-50
94 / 161
pomdp-50
95 / 161
pomdp-50
96 / 161
pomdp-15-fm 97 / 161
pomdp-15-ifm
max(F)
max(F)
max(F) > 0
max(♦F)
max(♦F)
max(♦F) = 1
max(♦F)
max(♦F)
max(♦F) = 1
max(♦F)
max(♦F)
max(♦F) > 0
98 / 161
pomdp-15-ifm
max(F)
max(F)
max(F) > 0
max(♦F)
max(♦F)
max(♦F) = 1
max(♦F)
max(♦F)
max(♦F) = 1
max(♦F)
max(♦F)
max(♦F) > 0
99 / 161
100 / 161
conc
101 / 161
conc
102 / 161
conc
103 / 161
conc
104 / 161
conc
105 / 161
conc
106 / 161
pba-01
107 / 161
pba-01
108 / 161
pba-01
109 / 161
pba-01
110 / 161
pba-03
111 / 161
pba-5
2 1 2 1 2
2 1 2 1 2
112 / 161
pba-5
2 1 2 1 2
2 1 2 1 2
113 / 161
pba-5
2 1 2 1 2
2 1 2 1 2
114 / 161
pba-5
2 1 2 1 2
2 1 2 1 2
>0 >0 are strictly more expressive than DBA
115 / 161
pba-5
2 1 2 1 2
2 1 2 1 2
>0 >0 are strictly more expressive than DBA
2 1 2 1 2
2 1 2 1 2
116 / 161
pba-5
2 1 2 1 2
2 1 2 1 2
>0 >0 are strictly more expressive than DBA
2 1 2 1 2
2 1 2 1 2
117 / 161
pba-5
2 1 2 1 2
2 1 2 1 2
>0 >0 are strictly more expressive than DBA
2 1 2 1 2
2 1 2 1 2
118 / 161
pba-5
2 1 2 1 2
2 1 2 1 2
>0 >0 are strictly more expressive than DBA
2 1 2 1 2
2 1 2 1 2
119 / 161
pba-10
120 / 161
pba-10
>0 >0 are strictly more expressive than NBA
121 / 161
pba-10
>0 >0 are strictly more expressive than NBA
>0 >0
122 / 161
pba-10
>0 >0 are strictly more expressive than NBA
>0 >0
123 / 161
pba-10
>0 >0 are strictly more expressive than NBA
>0 >0
124 / 161
pba-10
>0 >0 are strictly more expressive than NBA
>0 >0
2
2
2
2
2
2
2
2
2
2
2
2
125 / 161
>0 >0 are strictly more expressive than NBA
pba-11
2 1 2 1 2
2 1 2 1 2
126 / 161
>0 >0 are strictly more expressive than NBA
pba-11
2 1 2 1 2
2 1 2 1 2
>0 >0 are strictly more expressive than NBA
pba-11
2 1 2 1 2
2 1 2 1 2
∞
2
∞
2
∞
2
pba-15
>0 >0
129 / 161
pba-15
>0 >0
130 / 161
pba-15
>0 >0
131 / 161
pba-15
>0 >0
=1 =1
132 / 161
pba-15
>0 >0
=1 =1
133 / 161
pba-15
>0 >0
=1 =1
∞
2)ki) > 0
∞
2)ki) > 0
∞
2)ki) > 0
pba-15
>0 >0
=1 =1
∞
2)ki) > 0
∞
2)ki) > 0
∞
2)ki) > 0
∞
2)ki) = 0
∞
2)ki) = 0
∞
2)ki) = 0
pba-15
>0 >0
=1 =1
>0 >0
=1 =1
136 / 161
pomdp-16
max(♦F)
max(♦F)
max(♦F) = 1
max(F)
max(F)
max(F) > 0
max(♦F)
max(♦F)
max(♦F) = 1
max(♦F)
max(♦F)
max(♦F) > 0
137 / 161
pomdp-16
max(♦F)
max(♦F)
max(♦F) = 1
max(F)
max(F)
max(F) > 0
max(♦F)
max(♦F)
max(♦F) = 1
max(♦F)
max(♦F)
max(♦F) > 0
138 / 161
pomdp-17
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
139 / 161
pomdp-17
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
140 / 161
pomdp-17
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
max(♦f ) = 1
max(♦f ) = 1
max(♦f ) = 1 hold ?”
141 / 161
pomdp-17
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
max(♦f ) = 1
max(♦f ) = 1
max(♦f ) = 1 hold ?”
1 3 1 3 1 3 2 3 2 3 2 3
1 6 1 6 1 6 1 3 1 3 1 3 1 2 1 2 1 2
142 / 161
pomdp-18
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
143 / 161
pomdp-18
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
144 / 161
pomdp-18
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 in M
145 / 161
pomdp-18
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 in M
146 / 161
pomdp-18
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 in M
147 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
148 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
149 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
150 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
151 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
152 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
153 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
154 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
155 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
156 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
157 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
158 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
159 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
1 2K 1 2K 1 2K 1 2K 1 2K 1 2K
1 2 1 2 1 2
1 2K
1 2K
1 2K
160 / 161
pomdp-19
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1 hold ?”
1 2K 1 2K 1 2K 1 2K 1 2K 1 2K
1 2 1 2 1 2
max(♦F) = 1
max(♦F) = 1
max(♦F) = 1
161 / 161