700 likes | 809 Views
Automatic Rectangular Refinement of Affine Hybrid Automata. Laurent Doyen ULB. Jean-François Raskin ULB. Tom Henzinger EPFL. FORMATS 2005 – Sep 27 th - Uppsala. Overview. Automatic analysis of affine hybrid systems. Overview. {. Navigation Benchmark.
E N D
Automatic Rectangular Refinement of Affine Hybrid Automata Laurent Doyen ULB Jean-François Raskin ULB Tom Henzinger EPFL FORMATS 2005 – Sep 27th - Uppsala
Overview • Automatic analysis of affine hybrid systems
Overview { Navigation Benchmark • Automatic analysis of affine hybrid systems • Example:
Overview { • Automatic analysis of affinehybrid systems • Example: Two trajectories
Overview { Navigation Benchmark • Automatic analysis of affine hybrid systems • Example: Affine dynamics
Overview { • Automatic analysis of affine hybrid systems • Example: B 2 4 4 3 4 2 A 2 Discrete states Affine dynamics +
Reminder • Some classes of hybrid automata: • Timed automata ( ) • Rectangular automata ( ) • Linear automata ( )
Reminder Limit for decidability of Language Emptiness • Some classes of hybrid automata: • Timed automata ( ) • Rectangular automata ( ) • Linear automata ( )
Reminder Limit for decidability of Language Emptiness • Some classes of hybrid automata: • Timed automata ( ) • Rectangular automata ( ) • Linear automata ( ) • Affine automata ( ) • Polynomial automata ( ) • etc.
Reminder Limit for symbolic computation of Post with HyTech Limit for decidability of Language Emptiness • Some classes of hybrid automata: • Timed automata ( ) • Rectangular automata ( ) • Linear automata ( ) • Affine automata ( ) • Polynomial automata ( ) • etc.
Methodology • Affine automaton A and set of states Bad • Check that Reach(A) Bad = Ø
Methodology • Affine automaton A and set of states Bad • Check that Reach(A) Bad = Ø • Affine dynamics is too complex ? • Abstract it !
Methodology • Affine dynamics is too complex ? • Abstract it ! • Abstraction is too coarse ? • Refine it ! • Affine automaton A and set of states Bad • Check that Reach(A) Bad = Ø HOW ?
Methodology • 1. Abstraction: over-approximation Affine dynamics Rectangular dynamics
Methodology • 1. Abstraction: over-approximation Affine dynamics Rectangular dynamics { Let Then
Methodology l 3 0 • 2. Refinement: split locations by a line cut Line l
Methodology l 3 0 • 2. Refinement: split locations by a line cut Line l
Methodology Abstract Reach(A’)Bad Ø ? = Original Automaton A A’ Yes Property verified
Methodology Abstract Reach(A’)Bad Ø ? = Original Automaton A A’ Yes (Undecidable) Property verified
Methodology Refine Abstract Reach(A’)Bad Ø ? = Original Automaton A • using Reach(A’) • using Pre*(Bad) A’ No Yes (Undecidable) Property verified
Refinement • 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
Refinement • 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.
Notations l A P+ B P-
Notations l A P+ B P-
Goodness of a cut • A good cut should minimize • ?
Goodness of a cut • A good cut should minimize • ? • ?
Goodness of a cut • A good cut should minimize • ? • ? • ? • …
Goodness of a cut • A good cut should minimize • ? • ? • ? • … Our choice
Example Assume P
Example Assume P Then any line separating { } and { } is better than any other line.
Example P
Example P Any line separating { } and { } is better than any other line.
Example P Any line separating { } and { } is better than any other line.
Example P Thus, for every the best line separates and
Example P Thus, for every the best line separates and
Example P Thus, for every the best line separates and
Example P Thus, for every the best line separates and
Example P When
Example the best line cut must separate both from and from P When
Example The best line cut must separate both from and from P
Example Intersection P When an intersection occurs… The process continues because it is still possible to separate both from and from
Example P
Example P
Example P
Example P