regular model checking parosh aziz abdulla uppsala university cooperation with b. jonsson, m....

94
Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso

Upload: sibyl-ellis

Post on 16-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso

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

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

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

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

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

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

Topology

set

array

Page 8: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso

Tree

Page 9: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso

Matrix

Page 10: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Consequence

wF

x y

Page 80: Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso

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

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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

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

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

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

Future Work

•Tree-like Topologies

•Liveness properties

•Non-structure-preserving

•Other kinds of systems: stacks, queues, timed, etc