Download presentation
Presentation is loading. Please wait.
Published byRylee Wimsett Modified over 9 years ago
1
Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University
2
Presentation Overview Aim Regular model checking Trees, tree relations Transitive closures Results, conclusions
3
Aim With counters With stacks With channels parameterized A uniform analysis framework for systems : These systems can be characterized by finite-state automata.
4
Regular model checking Most important operation: computing transitive closures. Why ? Because it allows many analysis: Reachability safety properties fairness properties
5
Example A simple token passing protocol:
6
Example A simple token passing protocol:
7
Example A simple token passing protocol:
8
Example A simple token passing protocol:
9
Our Contribution Regular Model Checking is nice, but… … it’s only valid for linear or circular topologies ! Idea: extend to trees instead !
10
Trees 01 00 01 10 010 a b c d a b d node label this node is called “root”
11
Tree Automata 01 or and or and q1q2 state input symbol
12
Tree Automata Input: and or 101 Run:
13
Tree Automata Input: and or 101 Run: q1 Transition: 0 q1
14
Tree Automata Input: and or 101 Run: q1q2 Transition: 1 q2
15
Tree Automata Input: and or 101 Run: q1 q2 Transition: or q2 q1
16
Tree Automata Input: and or 101 Run: q1 q2 Transition: and q2
17
Tree Automata Input: and or 101 Run: q1 q2 Accept ! q2
18
Tree Relations a bc d ef
19
We represent a pair of “similar” trees by a tree on an alphabet with pairs: a bc d ef (a,d) (b,e)(c,f)
20
History Automata x Tx input
21
History Automata x Tx T xx input intermediate
22
History Automata x Tx x xT T xx inputoutput intermediate
23
History Automata In (word) regular model checking, concept of columns Transpose this to trees: represent a sequence of runs into single run. x Tx q1 q2q3 x xT q4 q5q6 T xx inputoutput intermediate run 1run 2
24
History Automata In (word) regular model checking, concept of columns Transpose this to trees: represent a sequence of runs into single run. x Tx x xT inputoutput run 1+2 q1.q4 q2.q5q3.q6
25
Symbolic Automata Property of H.A.’s: accept the transitive closure. Problem: infinite size ! Approach: apply standard subset construction (determinization) Supporting data structure for sets: regular expressions.
26
Results We have run a prototype tool on several examples: Token-passing protocol (1&2 ways) “percolate” protocol (compute disjunctions) Tree arbiter (mutual exclusion) Paper accepted at CAV’02.
27
Future work Change underlying automata representation (matrices instead of BDDs) Expand to new types of systems (e.g. pushdown systems) Create a graphical interface
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.