700 likes | 838 Vues
This paper presents a methodology for the automatic analysis of affine hybrid systems through rectangular refinement. It outlines the complexities of affine dynamics and proposes over-approximation techniques to deal with them effectively. The main focus is on verifying properties of affine automata by checking reachability against defined bad states. Several examples are provided, illustrating different classes of hybrid automata, such as timed, rectangular, and linear automata, and the limitations of decision procedures, including the language emptiness problem.
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