lazy abstractions for timed automata
play

Lazy abstractions for timed automata F. Herbreteau 1 , B. Srivathsan - PowerPoint PPT Presentation

Lazy abstractions for timed automata F. Herbreteau 1 , B. Srivathsan 2 , I. Walukiewicz 1 LaBRI, Universit e Bordeaux 1 Software modeling and verification group, RWTH-Aachen MOVES Seminar, March 2013 Lazy abstractions for timed automata -


  1. Lazy abstractions for timed automata F. Herbreteau 1 , B. Srivathsan 2 , I. Walukiewicz 1 LaBRI, Universit´ e Bordeaux 1 Software modeling and verification group, RWTH-Aachen MOVES Seminar, March 2013 Lazy abstractions for timed automata - 1/26

  2. Timed Automata [AD94] s 2 ( y = 1) ( x < 1) ( x < 1) { y } s 0 s 1 s 3 ( x > 1) ( y < 1) , { y } Run: finite sequence of transitions s 0 s 1 s 3 0 . 4 0 . 5 x 0 0 . 4 0 . 9 y 0 0 0 . 5 ◮ accepting if ends in green state Lazy abstractions for timed automata - 2/26

  3. The problem we are interested in ... Given a TA, does there exist an accepting run ? Lazy abstractions for timed automata - 3/26

  4. The problem we are interested in ... Given a TA, does there exist an accepting run ? Theorem [AD94] This problem is PSPACE-complete first solution based on Regions Lazy abstractions for timed automata - 3/26

  5. Regions Maximal bounds: M : X �→ N ∪ {−∞} Lazy abstractions for timed automata - 4/26

  6. Regions Maximal bounds: M : X �→ N ∪ {−∞} M ( x ) = 3 , M ( y ) = 2 x ⋖ 0 , x ⋗ 0 , x ⋖ 1 , x ⋗ 1 , . . . , x ⋖ 3 , x ⋗ 3 y ⋖ 0 , y ⋗ 0 , . . . , y ⋖ 2 , y ⋗ 2 Lazy abstractions for timed automata - 4/26

  7. Regions Maximal bounds: M : X �→ N ∪ {−∞} M ( x ) = 3 , M ( y ) = 2 x ⋖ 0 , x ⋗ 0 , x ⋖ 1 , x ⋗ 1 , . . . , x ⋖ 3 , x ⋗ 3 y ⋖ 0 , y ⋗ 0 , . . . , y ⋖ 2 , y ⋗ 2 4 3 2 1 0 1 2 3 4 5 Lazy abstractions for timed automata - 4/26

  8. ◮ Region: set of valuations satisfying the same guards w.r.t. time ◮ Finiteness: Parametrized by maximal constant Sound and complete [AD94] Region graph preserves state reachability Lazy abstractions for timed automata - 5/26

  9. ◮ Region: set of valuations satisfying the same guards w.r.t. time ◮ Finiteness: Parametrized by maximal constant O ( | X | ! . M | X | ) many regions! Sound and complete [AD94] Region graph preserves state reachability Lazy abstractions for timed automata - 5/26

  10. A more efficient solution... Key idea: Maintain all valuations reachable along a path ( x ≤ 5) ( y ≥ 7) q 0 q 1 q 2 q 3 x := 0 Lazy abstractions for timed automata - 6/26

  11. A more efficient solution... Key idea: Maintain all valuations reachable along a path ( x ≤ 5) ( y ≥ 7) q 0 q 1 q 2 q 3 x := 0 Lazy abstractions for timed automata - 6/26

  12. A more efficient solution... Key idea: Maintain all valuations reachable along a path ( x ≤ 5) ( y ≥ 7) q 0 q 1 q 2 q 3 x := 0 Lazy abstractions for timed automata - 6/26

  13. A more efficient solution... Key idea: Maintain all valuations reachable along a path ( x ≤ 5) ( y ≥ 7) q 0 q 1 q 2 q 3 x := 0 Lazy abstractions for timed automata - 6/26

  14. A more efficient solution... Key idea: Maintain all valuations reachable along a path ( x ≤ 5) ( y ≥ 7) q 0 q 1 q 2 q 3 x := 0 Lazy abstractions for timed automata - 6/26

  15. A more efficient solution... Key idea: Maintain all valuations reachable along a path ( x ≤ 5) ( y ≥ 7) q 0 q 1 q 2 q 3 x := 0 Lazy abstractions for timed automata - 6/26

  16. A more efficient solution... Key idea: Maintain all valuations reachable along a path ( x ≤ 5) ( y ≥ 7) q 0 q 1 q 2 q 3 x := 0 Lazy abstractions for timed automata - 6/26

  17. A more efficient solution... Key idea: Maintain all valuations reachable along a path x = y ≥ 0 x = y ≥ 0 y − x ≥ 7 y − x ≥ 7 ( x ≤ 5) ( y ≥ 7) q 0 q 1 q 2 q 3 x := 0 Lazy abstractions for timed automata - 6/26

  18. Zones and zone graph ◮ Zone: set of valuations defined by conjunctions of constraints: ◮ x ∼ c ◮ x − y ∼ c ◮ e.g. ( x − y ≥ 1) ∧ y < 2 ◮ Representation: by DBM Sound and complete [DT98] Zone graph preserves state reachability Lazy abstractions for timed automata - 7/26

  19. But the zone graph could be infinite ... ( y = 1) , { y } { x , y } q 0 q 1 Lazy abstractions for timed automata - 8/26

  20. But the zone graph could be infinite ... ( q 0 , x − y = 0) ( y = 1) , { y } { x , y } q 0 q 1 Lazy abstractions for timed automata - 8/26

  21. But the zone graph could be infinite ... ( q 0 , x − y = 0) ( y = 1) , { y } ( q 1 , x − y = 0) { x , y } q 0 q 1 Lazy abstractions for timed automata - 8/26

  22. But the zone graph could be infinite ... ( q 0 , x − y = 0) ( y = 1) , { y } ( q 1 , x − y = 0) { x , y } q 0 q 1 ( q 1 , x − y = 1) Lazy abstractions for timed automata - 8/26

  23. But the zone graph could be infinite ... ( q 0 , x − y = 0) ( y = 1) , { y } ( q 1 , x − y = 0) { x , y } q 0 q 1 ( q 1 , x − y = 1) ( q 1 , x − y = 2) . . . Lazy abstractions for timed automata - 8/26

  24. But the zone graph could be infinite ... ( q 0 , x − y = 0) ( y = 1) , { y } ( q 1 , x − y = 0) { x , y } q 0 q 1 ( q 1 , x − y = 1) ( q 1 , x − y = 2) . . . Abstract zone to its region closure Lazy abstractions for timed automata - 8/26

  25. M ( x ) = −∞ M ( y ) = 1 ( y = 1) , { y } { x , y } q 0 q 1 Lazy abstractions for timed automata - 9/26

  26. M ( x ) = −∞ M ( y ) = 1 ( y = 1) , { y } { x , y } q 0 q 1 Lazy abstractions for timed automata - 9/26

  27. M ( x ) = −∞ M ( y ) = 1 ( q 0 , x − y = 0) ( y = 1) , { y } ( q 1 , x − y = 0) { x , y } q 0 q 1 ( q 1 , x − y = 1) x − y = 1 ⊆ Closure M ( x − y = 0) Lazy abstractions for timed automata - 9/26

  28. M ( x ) = −∞ M ( y ) = 1 ( q 0 , x − y = 0) ( y = 1) , { y } ( q 1 , x − y = 0) { x , y } q 0 q 1 ( q 1 , x − y = 1) x − y = 1 ⊆ Closure M ( x − y = 0) Using Closure 1. Z ⊆ Closure M ( Z ′ ) can be done efficiently [HKSW11] 2. Given M , Closure M is optimal [HSW12] Lazy abstractions for timed automata - 9/26

  29. Reachability algorithm: ◮ Compute zones ◮ Use Closure M for termination ◮ Given M , Closure M is optimal Lazy abstractions for timed automata - 10/26

  30. Reachability algorithm: ◮ Compute zones ◮ Use Closure M for termination ◮ Given M , Closure M is optimal Coming next: get better M bounds! Lazy abstractions for timed automata - 10/26

  31. ( y = 1) , { y } { x } x ≥ 10 6 q 0 q 1 q 2 y . . . M ( y ) = 1 x M ( x ) = 10 6 Lazy abstractions for timed automata - 11/26

  32. ( y = 1) , { y } ( q 0 , x − y = 0) { x } x ≥ 10 6 q 0 q 1 q 2 ( q 0 , x − y = 1) ( q 1 , 0 ≤ x ≤ y ) ( q 2 , 10 6 ≤ x ≤ y ) ( q 0 , x − y = 2) . y . . . . . ( q 0 , x − y = 10 6 + 1) M ( y ) = 1 x M ( x ) = 10 6 ( q 0 , x − y = 10 6 + 2) More than 10 6 nodes unnecessary Lazy abstractions for timed automata - 11/26

  33. Static analysis [BBFL03] Key idea: Bounds for every q of the automaton ( y = 1) , { y } x ≥ 10 6 { x } q 0 q 1 q 2 M 1 ( x ) = 10 6 M 0 ( x ) = −∞ M 0 ( y ) = 1 M 1 ( y ) = −∞ Lazy abstractions for timed automata - 12/26

  34. Static analysis [BBFL03] Key idea: Bounds for every q of the automaton ( y = 1) , { y } ( q 0 , x − y = 0) x ≥ 10 6 { x } q 0 q 1 q 2 ( q 0 , x − y = 1) ( q 1 , 0 ≤ x ≤ y ) M 1 ( x ) = 10 6 M 0 ( x ) = −∞ ( q 2 , 10 6 ≤ x ≤ y ) M 0 ( y ) = 1 M 1 ( y ) = −∞ Lazy abstractions for timed automata - 12/26

  35. However... ( y = 1) , { y } x ≥ 10 6 x = 1 ∧ y = 2 q 0 q 1 q 2 M 0 ( x ) = 10 6 M 1 ( x ) = 10 6 M 0 ( y ) = 2 M 1 ( y ) = −∞ Static analysis gives more than 10 6 nodes in the zone graph Lazy abstractions for timed automata - 13/26

  36. However... ( y = 1) , { y } x ≥ 10 6 x = 1 ∧ y = 2 q 0 q 1 q 2 M 0 ( x ) = 10 6 M 1 ( x ) = 10 6 M 0 ( y ) = 2 M 1 ( y ) = −∞ Static analysis gives more than 10 6 nodes in the zone graph Need to look at semantics Lazy abstractions for timed automata - 13/26

  37. On-the-fly bounds [HKSW11] Key idea: Bounds for every ( q , Z ) of the zone graph constants at depend on subtree . . . . . . . . . Lazy abstractions for timed automata - 14/26

  38. ( y = 1) , { y } x ≥ 10 6 x = 1 ∧ y = 2 q 0 q 1 q 2 ( x : 1 , y : 2) ( q 0 , x − y = 0) ( x : 1 , y : 2) ( q 0 , x − y = 1) ( x : 1 , y : 2) ( q 0 , x − y = 2) ( q 0 , x − y = 3) Lazy abstractions for timed automata - 15/26

  39. Two ways of getting bounds: ◮ Static analysis (bounds for every q ) ◮ On-the-fly propagation (bounds for every ( q , Z )) Lazy abstractions for timed automata - 16/26

  40. Two ways of getting bounds: ◮ Static analysis (bounds for every q ) ◮ On-the-fly propagation (bounds for every ( q , Z )) Coming next: Better bounds by exploiting more semantics Lazy abstractions for timed automata - 16/26

  41. Observation 1: If all edges are enabled in the zone graph, then we don’t need bounds at all Lazy abstractions for timed automata - 17/26

  42. ( y = 1) , { y } x ≥ 10 6 q 0 q 1 q 2 ( q 0 , x − y = 0) ( q 0 , x − y = 1) ( q 1 , x − y = 0) ( q 2 , x − y = 0 ∧ x ≥ 10 6 ) Lazy abstractions for timed automata - 18/26

  43. ( y = 1) , { y } x ≥ 10 6 q 0 q 1 q 2 ( q 0 , x − y = 0) ( q 0 , x − y = 1) ( q 1 , x − y = 0) ( q 2 , x − y = 0 ∧ x ≥ 10 6 ) Otf-propagation would have given ∼ 10 6 nodes Lazy abstractions for timed automata - 18/26

  44. ( y = 1) , { y } x ≥ 10 6 q 0 q 1 q 2 ( q 0 , x − y = 0) ( q 0 , x − y = 1) ( q 1 , x − y = 0) ( q 2 , x − y = 0 ∧ x ≥ 10 6 ) Otf-propagation would have given ∼ 10 6 nodes Trigger bounds propagation only when a disabled edge is seen Lazy abstractions for timed automata - 18/26

  45. Observation 2: If some edge is disabled in the zone graph, it is enough to consider only the guards that were responsible for the edge to be disabled Lazy abstractions for timed automata - 19/26

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend