Regular Model Checking Made Simple and Efficient - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Regular Model Checking Made Simple and Efficient

Description:

Regular Model Checking Made Simple and Efficient. P. Abdulla, B. Jonsson, M. ... Construction does not rely on determinism. No image computation, but simple 'matching' ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 43
Provided by: julien60
Category:

less

Transcript and Presenter's Notes

Title: Regular Model Checking Made Simple and Efficient


1
Regular Model Checking Made Simple and Efficient
  • P. Abdulla, B. Jonsson, M. Nilsson and J. dOrso
  • Uppsala University

2
Presentation Overview
  • Aim
  • Regular Model Checking
  • Subset Construction
  • Construction by Matching
  • Conclusions

3
Aim
  • Parameterized systems
  • Counters
  • Stacks
  • queues

Can all be represented by regular languages And
regular relations.
4
Regular Model Checking
Represent configurations/transition
relations with finite automata.
(n,n)
(n,n)
(n,t)
(t,n)
Example moving a token to the right
5
Regular Model Checking
The transitive closure
(n,n)
(n,n)
(n,n)
(n,t)
(t,n)
Example moving a token arbitrarily to the right
6
Regular Model Checking (cont.)
  • Problem how do we compute transitive closures ?
  • Solution subset construction (BJNT00)
  • First step use strings to represent composition
    (columns)

Successive runs
One column
7
Regular Model Checking (cont.)
8
Regular Model Checking (cont.)
9
Regular Model Checking (cont.)
10
Subset Construction (cont.)
  • Problem previous automaton is infinite !
  • Second idea apply subset construction
  • With regular sets

11
Subset Construction (cont.)
Relation R
Construction
(n,n)
12
Subset Construction (cont.)
Relation R
Construction
(n,n)
(t,n)
(n,t)
(n,n)
13
Subset Construction (cont.)
Relation R
Construction
(n,n)
(n,n)
(t,n)
(n,t)
(n,t)
(n,n)
(n,n)
14
Subset Construction (cont.)
Relation R
Construction
(n,n)
(t,n)
(n,n)
(n,n)
(n,t)
(n,t)
(n,n)
(n,n)
15
Subset Construction (cont.)
Relation R
Construction
(n,n)
(n,n)
(t,n)
(n,n)
(n,t)
(n,t)
(n,n)
(n,n)
16
Subset Construction (cont.)
Practical problems
  • Automaton built is deterministic
  • Computing the image of a set is expensive
  • For many examples, sets obtained are simple

17
Our Contribution
Compared with DLS01
  • The algorithm uses only local information, not
    global reasoning (bisimulations).

18
Our Contribution
Compared with BJNT00
  • Construction does not rely on determinism
  • No image computation, but simple matching

19
An Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
20
An Example
Compose automaton twice
(e,e)
(e,e)
(a,e)
(b,e)
(e,b)
(e,d)
(d,a)
L L
1 L
2 1
3 2
R 3
R R
21
An Example
(e,e)
(e,e)
(a,e)
(b,e)
(e,b)
(e,d)
(d,a)
L L
1 L
2 1
3 2
R 3
R R
22
An Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
(b,e)
(e,b)
(d,a)
23
An Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
(b,e)
(e,b)
(d,a)
(d,e)
(e,a)
24
An Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
(b,e)
(e,b)
(d,a)
(d,e)
(e,a)
(e,e)
25
Construction by Matching
Use sets of form
With each sub-expression being one of
(1)
(2)
(3)
26
Construction by Matching (cont.)
Examples of sets
27
Construction by Matching (cont.)
Properties of such sets (1) Can be made
canonical representation (2) Closed under an
operation similar to concatenation (3) Induce
equivalence relation
28
Property (1)
Canonicity always take the largest set !
29
Property (2)
Define operator as follows
if
otherwise
30
Property (2)
Using the operator
(a,e)
(e,e)
(a,e)
L L
(a,e)
L
31
Property (3)
When can we merge states ?
1
2
1/ 2
32
Property (3) (cont.)
Does our equivalence relation satisfy this ? Yes !
L
q
q
q
33
Property (3) (cont.)
Property needs to be symmetric !
L
q2
q1
q1
L
q2
q1
34
The Algorithm
  • Initialization replace copying states q with
    q, leave the rest
  • Step k1 for a transition of step k and a
    transition of step 0, if match then add the
    combined transition
  • Stop when reach fixed point.

35
Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
Run the initialization step.
36
Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
37
Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
Match transitions in red.
38
Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
(a,e)
1 L
39
Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
(a,e)
1 L
40
Example
(e,e)
(e,e)
(a,e)
(b,a)
(d,b)
(e,d)
L
1
2
3
R
(a,e)
(b,e)
1 L
2 1
41
Results
42
Future Work
  • Extend to other systems e.g. trees, push-down
    systems, graphs, etc
  • Experiment underlying data structure Graphical
    interface for this tool
Write a Comment
User Comments (0)
About PowerShow.com