Title: Automatic Rectangular Refinement of Affine Hybrid Automata
1Automatic Rectangular Refinement of Affine Hybrid
Automata
Laurent Doyen ULB
Jean-François Raskin ULB
Tom Henzinger EPFL
FORMATS 2005 Sep 27th - Uppsala
2Overview
- Automatic analysis of affine hybrid systems
3Overview
- Automatic analysis of affine hybrid systems
- Example
4Overview
- Automatic analysis of affine hybrid systems
- Example
Two trajectories
5Overview
- Automatic analysis of affine hybrid systems
- Example
Affine dynamics
6Overview
- Automatic analysis of affine hybrid systems
- Example
B
2
4
4
4
3
A
2
2
Affine dynamics
Discrete states
7Reminder
- Some classes of hybrid automata
- Timed automata ( )
- Rectangular automata ( )
- Linear automata ( )
8Reminder
- Some classes of hybrid automata
- Timed automata ( )
- Rectangular automata ( )
- Linear automata ( )
9Reminder
- Some classes of hybrid automata
- Timed automata ( )
- Rectangular automata ( )
- Linear automata ( )
- Affine automata ( )
- Polynomial automata ( )
- etc.
10Reminder
- Some classes of hybrid automata
- Timed automata ( )
- Rectangular automata ( )
- Linear automata ( )
- Affine automata ( )
- Polynomial automata ( )
- etc.
11Methodology
- Affine automaton A and set of states Bad
- Check that Reach(A) ? Bad Ø
12Methodology
- Affine automaton A and set of states Bad
- Check that Reach(A) ? Bad Ø
- Affine dynamics is too complex ?
- Abstract it !
13Methodology
- Affine automaton A and set of states Bad
- Check that Reach(A) ? Bad Ø
HOW ?
14Methodology
- 1. Abstraction over-approximation
Affine dynamics Rectangular
dynamics
15Methodology
- 1. Abstraction over-approximation
Affine dynamics Rectangular
dynamics
Let Then
16Methodology
- 2. Refinement split locations by a line cut
Line l ?
17Methodology
- 2. Refinement split locations by a line cut
Line l ?
18Methodology
Original Automaton
A
A
Yes
Property verified
19Methodology
Original Automaton
A
A
Yes
(Undecidable)
Property verified
20Methodology
Original Automaton
A
- using Reach(A)
- using Pre(Bad)
A
No
Yes
(Undecidable)
Property verified
21Refinement
- 2. Refinement split locations by a line cut
- Which location(s) ?
- Loc1 Locations reachable in the last step
- Loc2 Reachable locations that can reach Bad
- Better replace the state space by Loc2
22Refinement
- 2. Refinement split locations by a line cut
- Which location(s) ?
- Loc1 Locations reachable in the last step
- Loc2 Reachable locations that can reach Bad
- Better replace the state space by Loc2
- Which line cut ?
- The best cut for some criterion characterizing
the goodness of the resulting approximation.
23Notations
24Notations
25Notations
26Notations
27Goodness of a cut
- A good cut should minimize
28Goodness of a cut
- A good cut should minimize
29Goodness of a cut
- A good cut should minimize
30Goodness of a cut
- A good cut should minimize
Our choice
31Finding the optimal cut
P
32Extremal level sets of f(x,y)
P
33Extremal level sets of g(x,y)
P
34Example
P
35Example
P
Then any line separating and is
better than any other line.
36Example
P
37Example
P
Any line separating and is better
than any other line.
38Example
P
Any line separating and is better
than any other line.
39Example
P
Thus, for every the best line separates and
40Example
P
Thus, for every the best line separates and
41Example
P
Thus, for every the best line separates and
42Example
P
Thus, for every the best line separates and
43Example
P
When
44Example
P
When
45Example
P
46Example
Intersection
P
When an intersection occurs
The process continues because it is still
possible to separate both from and
from
47Example
P
48Example
P
49Example
P
50Example
P
51Example
P
Intersection
When a second intersection occurs
52Example
P
Intersection
In this case, we have reached the "limit of
separability"
53Example
P
An optimal cut
54How to compute the intersection ?
P
55How to compute the intersection ?
We have to find the minimal ? such that
P
(u,v)
56How to compute the intersection ?
We have to find the minimal ? such that
P
(u,v)
This is a linear program !
57The algorithm
- Applies in the plane (2D)
- Several particular cases
58The algorithm
- Applies in the plane (2D)
- Several particular cases
- What for higher dimension ?
- An option discretize the problem using a grid
- Apply a (more) discrete algorithm
- The exact solution can be arbitrarily closely
approximated
59The algorithm
- Applies in the plane (2D)
- Several particular cases
- What for higher dimension ?
- An option discretize the problem using a grid
- Apply a (more) discrete algorithm
- The exact solution can be arbitrarily closely
approximated
60The algorithm
- Applies in the plane (2D)
- Several particular cases
- What for higher dimension ?
- An option discretize the problem using a grid
- Apply a (more) discrete algorithm
- The exact solution can be arbitrarily closely
approximated
61Navigation benchmark
- In each location, the dynamics has the form
- We cut in the plane v1-v2
62Navigation benchmark
- In each location, the dynamics has the form
- We cut in the plane v1-v2
63Results
64Results NAV 04
65Results NAV 04
66Results NAV 07
67Conclusion
- Approximations
- Rectangular
- Over-approximations
68Conclusion
- Approximations
- Rectangular
- Over-approximations
- Refinements
- Automatic
- Optimal split for some criterion (at least in 2D)
69Conclusion
- Approximations
- Rectangular
- Over-approximations
- Refinements
- Automatic
- Optimal split for some criterion (at least in 2D)
- Possible future work
- Under-approximations
- Optimal split for some other criterion
- Combine with other approaches (barrier
certificates, ellipsoïds, )
70References
- FI04 A. Fehnker and F. Ivancic. Benchmarks for
hybrid systems verification. In HSCC 2004, LNCS
2993, pp 326-341. - Fre05 G. Frehse. Phaver Algorithmic
verification of hybrid systems past hytech. In
HSCC 2005, LNCS 3414, pp 258-273.