regular model checking parosh aziz abdulla uppsala university cooperation with b. jonsson, m....
TRANSCRIPT
![Page 1: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/1.jpg)
Regular Model Checking
Parosh Aziz Abdulla
Uppsala UniversityCooperation with
B. Jonsson, M. Nilsson, J. d’Orso
![Page 2: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/2.jpg)
Outline Model Checking
Infinite-State Systems
Parameterized Systems
Regular Model Checking
Column Transducer Construction
Sufficient Conditions for Exactness
Future Work
![Page 3: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/3.jpg)
Model Checking
S sat ?
system specification
![Page 4: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/4.jpg)
Infinite State Systems
1. Unbounded Data Structures
• Timed Automata• Push-Down Automata• Communicating Finite State Automata• Counter Automata
2. Unbounded Control Structures
• Parameterized Systems• Dynamic Systems
![Page 5: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/5.jpg)
Parameterized Systems
• Mutual exclusion protocols• Cache coherence protocols• Broadcast protocols
Dynamic Systems
• Security protocols• Multi-threaded programs
![Page 6: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/6.jpg)
Model CheckingS sat ?
Parameterized systemspecification
Classification• S :
Topology Components Communication mechanisms
Safety properties Liveness properties
•
![Page 7: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/7.jpg)
Topology
set
array
![Page 8: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/8.jpg)
Tree
![Page 9: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/9.jpg)
Matrix
![Page 10: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/10.jpg)
Components• Simple: finite state process• Extended: clocks, counters, buffers, etc.
Communication Mechanism• binary (rendez-vous)• broadcast• Neighbour• global
![Page 11: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/11.jpg)
Simplest Case:Set + Finite-state + Rendez-vous
W
C
W
C
W
C
Example: Parameterized mutual exclusion
R=0?
R:=1
R:=0 R=0?
R:=1
R:=0R=0?
R:=1
R:=0
Counter abstraction = Petri net
![Page 12: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/12.jpg)
Petri Net Model
W
C
R=0?
R:=1
R:=0 WC
R=0
Initial markingNo token in C, 1 token in (R=0)
Bad markingsAt least 2 tokens in C
![Page 13: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/13.jpg)
Parameterized System of Finite-Sate Processes (Geman & Sistla)
Finite-state processSynchronize:
Parameterized System
Petri Net Representation
![Page 14: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/14.jpg)
Parameterized System of Timed Processes –(Timed Networks)
timed process
Synchronize:
Parameterized System
Timed Petri Net Representation
x:=0
x<5
[0:0]
[0:5]
![Page 15: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/15.jpg)
Array of Finite-State Processes
in general: undecidable
use Regular Model Checking [Kesten et al 97]
![Page 16: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/16.jpg)
Example: Szymanski’s Algorithm
Pseudocode for process i
1: await j : j i :: sj
2: wi , si := true,true3: if j : j i :: (pcj 1 /\ wj) then si := false; goto 4 else wi := false; goto 54: await j : j i :: (sj /\ wj) then wi , si := false,true5: await j : j i :: wj
6: await j : j i :: sj
7: si := false; goto 1
![Page 17: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/17.jpg)
Linear Process Networks: Token Passing
T N N N N
![Page 18: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/18.jpg)
Linear Process Networks: Token Passing
N T N N N
![Page 19: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/19.jpg)
Linear Process Networks: Token Passing
N N T N N
![Page 20: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/20.jpg)
Alphabet : S = {N , T }
Configurations : words over S
Initial Configurations : T N* (regular lang.)
Transition Relation : transducer :
N/N
T/N N/T
N/N
Token Passing: Model
![Page 21: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/21.jpg)
N/NT/N N/T
N/N
T N N N Initial configuration (T N*)
A Run of the Transducer :
R
![Page 22: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/22.jpg)
N/NT/N N/T
N/N
T N N N
N T N N
Initial configuration (T N*)
A Run of the Transducer :
R
R
![Page 23: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/23.jpg)
N/NT/N N/T
N/N
T N N N
N T N N
N N T N
Initial configuration (T N*)
A Run of the Transducer :
R
R
R
![Page 24: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/24.jpg)
N/NT/N N/T
N/N
T N N N
N T N N
N N T N
N N N T
Initial configuration (T N*)
A Run of the Transducer :
R
R
R
R
![Page 25: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/25.jpg)
N/NT/N N/T
N/N
T N* Initial configurations
Symbolic Run of the Transducer :
R
![Page 26: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/26.jpg)
N/NT/N N/T
N/N
T N*
N T N*
Initial configurations
Symbolic Run of the Transducer :
RR
![Page 27: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/27.jpg)
N/NT/N N/T
N/N
T N*
N T N*
N N T N*
Initial configurations
Symbolic Run of the Transducer :
RR
R
![Page 28: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/28.jpg)
N/NT/N N/T
N/N
T N*
N T N*
N N T N*
N N N T N*
Initial configurations
Symbolic Run of the Transducer :
RR
R
R
Termination ?
Ideally: compute:
R* (T N*) = N* T N*
![Page 29: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/29.jpg)
N/NT/N N/T
N/N
T N N N N
Column Transducer Rq0 q1 q2
![Page 30: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/30.jpg)
N/NT/N N/T
N/N
T N N N N
Column Transducer Rq0 q1 q2
q2q0 q1 q2 q2 q2
N T N N N
![Page 31: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/31.jpg)
N/NT/N N/T
N/N
T N N N N
Column Transducer Rq0 q1 q2
q2q0 q1 q2 q2 q2
N T N N Nq1q0 q0 q2 q2 q2
N N T N N
![Page 32: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/32.jpg)
N/NT/N N/T
N/N
T N N N N
Column Transducer Rq0 q1 q2
q2q0 q1 q2 q2 q2
N T N N Nq1q0 q0 q2 q2 q2
N N T N N
q0q0 q0 q1 q2 q2
N N N T N
![Page 33: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/33.jpg)
N/NT/N N/T
N/N
T N N N N
Column Transducer Rq0 q1 q2
q2q0 q1 q2 q2 q2
N T N N Nq1q0 q0 q2 q2 q2
N N T N N
q0q0 q0 q1 q2 q2
N N N T Nq0q0 q0 q0 q1 q2
N N N N T
![Page 34: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/34.jpg)
N/NT/N N/T
N/N
T N N N N
Column Transducer Rq0 q1 q2
q2q0 q1 q2 q2 q2
N T N N Nq1q0 q0 q2 q2 q2
N N T N N
q0q0 q0 q1 q2 q2
N N N T Nq0q0 q0 q0 q1 q2
N N N N T
![Page 35: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/35.jpg)
Column Transducer Configurations: columns – members of S
Transitions :
Initial configurations : columns of initial states Final configurations : columns of final states
aq0 r0
bq1 r1
q2 r2
q3 r3
c
d
e
xyx
a
e
+
y
![Page 36: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/36.jpg)
N/NT/N N/T
N/N
Example : Token passingRq0 q1 q2
q0q0q0
q0q0q0
initial columns :q0q0q0q0
q2 q2q2
q2q2q2
final columns :q2q2q2q2
q2q1q0q0
q2q2q1q0
NN
q2q1q0q0
q2q2q1q0
N
N
NT
N
and therefore
transitions :
e.g.
![Page 37: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/37.jpg)
N/NT/N N/T
N/N
Example : Token passingRq0 q1 q2
q0q0q0
q0q0q0
initial columns :q0q0q0q0
q2 q2q2
q2q2q2
final columns :q2q2q2q2
Transducer language = transitive closure Problem : number of columns infinite !! Solution: abstraction !!
=
![Page 38: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/38.jpg)
Computing Abstract Transducer
Start with original transducer repeat
Define equivalence on columns
until construction stabilizes
![Page 39: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/39.jpg)
Computing Abstract Transducer
Start with initial configurations (columns) repeat
then
add
Define equivalence on columns
x z
a
by w
bc
• if and
Xy
zw
a
c
until construction stabilizes
![Page 40: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/40.jpg)
Computing Abstract Transducer
Start with initial configurations (columns) repeat
then
add
Define equivalence on columns
• if x y then merge x and y
x z
a
by w
bc
• if and
Xy
zw
a
c
until construction stabilizes
![Page 41: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/41.jpg)
Defining
Left-copyingstates
Right-copyingstates
Non-copyingstates
NT N
T
TT
NN
TT
![Page 42: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/42.jpg)
Defining
Left-copyingstates
Right-copyingstates
Non-copyingstates
NT N
T
TT
NN
TT
x yif
x = y modulo deletion of identicalleft- or right-copying neighbours
![Page 43: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/43.jpg)
N/NT/N N/T
N/N
Example : Token passingRq0 q1 q2
Left-copying state : Right-copying state :q0 2
q
q0
q0
q1
q2
q2
q0
q1
q2
q2
![Page 44: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/44.jpg)
N/NN/T
N/N
Example : Token passingq2
T/N q1q0
![Page 45: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/45.jpg)
N/N
T/N
N/TN/N
Example : Token passingq2
q0q0
q1q0
T/N q1q0
![Page 46: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/46.jpg)
N/N
T/N
N/TN/N
Example : Token passingq2
q0q0
q1q0
T/N q1q0
![Page 47: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/47.jpg)
T/N
N/TN/N
Example : Token passingq2
q1q0
T/N q1q0N/N
![Page 48: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/48.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
q1q0
T/N q1q0
q2q1
N/N
![Page 49: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/49.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
q1q0
T/N q1q0
q2q1
q2q2
N/T
N/N
![Page 50: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/50.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
q1q0
T/N q1q0
q2q1
q2q2
N/T
N/N
![Page 51: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/51.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
q1q0
T/N q1q0
q2q1
N/T
N/N
![Page 52: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/52.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
q1q0
T/N q1q0
q2q1
N/T
q0
q2q1q0
q1q0
N/N
N/N
![Page 53: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/53.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
q1q0
T/N q1q0
q2q1
N/T
q0
q2q1q0
q1q0
N/N
N/N
![Page 54: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/54.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
T/N q1q0
q2q1
N/T
q2q1q0
q1q0
N/N
N/N
![Page 55: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/55.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
T/N q1q0
q2q1
N/T
q2q1q0
q1q0
N/N q2
q2q1
N/N
N/N
![Page 56: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/56.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
T/N q1q0
q2q1
N/T
q2q1q0
q1q0
N/N q2
q2q1
N/N
N/N
![Page 57: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/57.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
T/N q1q0
q2q1
N/T
q2q1q0
q1q0
N/N
N/N
N/N
![Page 58: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/58.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
T/N q1q0
q2q1
N/T
q2q1q0
q1q0
N/N
N/N
q2q1q0q0
N/N
N/N
![Page 59: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/59.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
T/N q1q0
q2q1
N/T
q2q1q0
q1q0
N/N
N/N
q2q1q0q0
N/N
N/N
![Page 60: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/60.jpg)
N/NT/N
N/TN/N
Example : Token passingq2
T/N q1q0
q2q1
N/T
q2q1q0
q1q0
N/N
N/N
N/N
N/N
![Page 61: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/61.jpg)
initialstates
equivalenceclass
finalstates
x
y
Exactness of
![Page 62: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/62.jpg)
initialstates
equivalenceclass
finalstates
x
y
Exactness of
z
![Page 63: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/63.jpg)
initialstates
equivalenceclass
finalstates
x
y
Exactness of
z
How to define ?
![Page 64: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/64.jpg)
Forward Simulation Fx1
x2
y1
F
![Page 65: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/65.jpg)
Forward Simulation Fx1
x2
y1
Fy
2
F
![Page 66: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/66.jpg)
Forward Simulation Fx1
x2
y1
Fy
2
F
Backward Simulation B
x1 y1
y2
B
![Page 67: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/67.jpg)
Forward Simulation Fx1
x2
y1
Fy
2
F
Backward Simulation B
x1 y1
y2
By
1
B
![Page 68: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/68.jpg)
xy
z
w
yx
F
FB
B
iff
Equivalence
F B, independent:
y
w
z
FB
F
Bx
![Page 69: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/69.jpg)
Example
Bx y x = y modulo deletion of
identicalleft-copying neighbours
![Page 70: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/70.jpg)
Example
Bx y x = y modulo deletion of
identicalleft-copying neighboursq
0q0
q1
q2
q0
q1
q2
B
![Page 71: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/71.jpg)
Example
Bx y x = y modulo deletion of
identicalleft-copying neighboursq
0q0
q1
q2
q0
q1
q2
B
Fx y
q0
q1
q2
F
x = y modulo deletion of identical
right-copying neighboursq0
q1
q2
q2
![Page 72: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/72.jpg)
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q2
Independence
FB
![Page 73: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/73.jpg)
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q2
Independence
F B
FB
![Page 74: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/74.jpg)
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q2
q0
Independence
F B
FB
![Page 75: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/75.jpg)
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q2
q0
q1
Independence
F B
FB
![Page 76: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/76.jpg)
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q2
q0
q1
q2
q2
Independence
F B
FB
![Page 77: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/77.jpg)
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q0
q0
q1
q2
q0
q2
q0
q0
q1
q2
q0
q2
Independence
F B
FB
![Page 78: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/78.jpg)
Example
Bx y x = y modulo deletion of
identicalleft-copying neighbours
Fx y x = y modulo deletion of
identicalright-copying neighbours
x x = y modulo deletion of identicalleft- or right-copying neighbours
y
Induced equivalence :
![Page 79: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/79.jpg)
Consequence
wF
x y
![Page 80: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/80.jpg)
Consequence
wF
x y
zB
F
![Page 81: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/81.jpg)
[x0] [x1] [x2] [x3]
y1 y2 y3
![Page 82: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/82.jpg)
[x0] [x1] [x2] [x3]
y1
w0
F
y2 y3
x0 =
![Page 83: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/83.jpg)
[x0] [x1] [x2] [x3]
y1
w0 v1
F F
y2 y3
x0 =
![Page 84: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/84.jpg)
[x0] [x1] [x2] [x3]
y1
w0 v1
F F
B
y2
w1
F
y3
x0 =
![Page 85: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/85.jpg)
[x0] [x1] [x2] [x3]
y1
w0 v1
F F
B
y2
w1 v2
F F
B
y3
Fw2x0 =
![Page 86: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/86.jpg)
[x0] [x1] [x2] [x3]
y1
w0 v1
F F
B
y2
w1 v2
F F
B
y3
w3v3
F F
Bw2
Fx0 =
![Page 87: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/87.jpg)
[x0] [x1] [x2] [x3]
y1
w0 v1
F F
B
y2
w1 v2
F F
B
y3
w3v3
F F
Bw2
F
z3
B
x0 =
w3
![Page 88: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/88.jpg)
[x0] [x1] [x2] [x3]
y1
w0 v1
F F
B
y2
w1 v2
F F
B
y3
w3v3
F F
Bw2
F
z3
Bz2
B
x0 =
w3
![Page 89: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/89.jpg)
[x0] [x1] [x2] [x3]
y1
w0 v1
F F
B
y2
w1 v2
F F
B
y3
w3v3
F F
Bw2
F
z3
Bz2
Bz1
B
x0 =
w3
![Page 90: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/90.jpg)
[x0] [x1] [x2] [x3]
y1
w0 v1
F F
B
y2
w1 v2
F F
B
y3
w3v3
F F
Bw2
F
z3
Bz2
Bz1
Bz0
B
x0 =
w3
![Page 91: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/91.jpg)
Other Examples: Szymanski’s Algorithm (idealized)
Pseudocode for process i
1: await j : j i :: sj
2: wi , si := true,true3: if j : j i :: (pcj 1 /\ wj) then si := false; goto 4 else wi := false; goto 54: await j : j i :: (sj /\ wj) then wi , si := false,true5: await j : j i :: wj
6: await j : j i :: sj
7: si := false; goto 1
![Page 92: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/92.jpg)
Built states in transitive closures
Token passing
Token ring Bakery Szymanski0
100200300400500600700800900
100011001200130014001500160017001800
668
1793
20658
605
164 25
335
11
Old equivalence
Bi-determinization
New equivalence
![Page 93: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/93.jpg)
www.regularmodelchecking.com
• All implementation available
• Implementation of automata with symbolic edges (BDDs)
• Source available under GPL
![Page 94: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso](https://reader036.vdocument.in/reader036/viewer/2022062515/56649ccc5503460f9499672d/html5/thumbnails/94.jpg)
Future Work
•Tree-like Topologies
•Liveness properties
•Non-structure-preserving
•Other kinds of systems: stacks, queues, timed, etc