decidability decidability and symbolic symbolic
play

Decidability Decidability and Symbolic Symbolic Verification - PowerPoint PPT Presentation

Decidability Decidability and Symbolic Symbolic Verification Symbolic Symbolic Verification Verification Verification Kim G. Larsen Kim G. Larsen Aalborg Aalborg University Aalborg Aalborg University University DENMARK University, ,


  1. Decidability Decidability and Symbolic Symbolic Verification Symbolic Symbolic Verification Verification Verification Kim G. Larsen Kim G. Larsen Aalborg Aalborg University Aalborg Aalborg University University DENMARK University, , DENMARK DENMARK DENMARK

  2. Reachability Reachability ? a b OBSTACLE: Uncountably infinite state space c c locations clock-valuations Reachable from initial state (L0 x 0 y 0) ? Reachable from initial state (L0,x= 0,y= 0) ? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Lars Kim Larsen [2] en [2]

  3. The Region Abstraction The Region Abstraction Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Lars Kim Larsen [3] en [3]

  4. Regions – From Infinite to Finite Regions – Reset region THM [AD90] S S Successor Successor S Successor Reachability is decidable Regions Regions regions (and PSPACE-complete) for timed automata + THM [CY90] Time-optimal reachability is decidable (and PSPACE-complete) for A region g timed automata timed automata Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Lars Kim Larsen [4] en [4]

  5. Fundamental Results Fundamental Results  Reachability y   Model-checking  TCTL  TCTL  ; MTL  ; MTL  ; MITL  ; MITL   Bisimulation, Simulation  Timed  d  ; Untimed  d  Ti U ti  Trace-inclusion  Timed  ; Untimed  Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Lars Kim Larsen [5] en [5]

  6. Symbolic Symbolic Verification Verification The UPPAAL Verification Engine Verification Engine

  7. Regions – Regions – From Infinite to Finite + Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Lars Kim Larsen [7] en [7]

  8. Zones – Zones – From Finite to Efficiency From Finite to Efficiency A zone Z : 1 ≤ x ≤ 2 Æ 0 ≤ y ≤ 2 Æ x - y ≥ 0 Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Lars Kim Larsen [8] en [8]

  9. Zones - Zones - Operations Operations (n, 2 ≤ x ≤ 4 Æ (n, 2 ≤ x Æ (n, 2 ≤ x Æ 1 ≤ y ≤ 3 Æ y-x ≤ 0 ) 1 ≤ y ≤ 3 Æ y-x ≤ 0 ) 1 ≤ y Æ -3 ≤ y-x ≤ 0 ) y y y x x x Delay Delay (stopwatch) y y y (n, 2 ≤ x ≤ 4 Æ 1 ≤ y ) (n, x= 0 Æ 1 ≤ y ≤ 3 ) 2 x x x Reset Extrapolation Convex Hull Summer School on Informatics RIO Summer School on Informatics RIO 2012 2012 Kim Lars Kim Larsen [9] en [9]

  10. Symbolic Transitions Symbolic Transitions 1< = x< = 4 1< = x, 1< = y 1< = y< = 3 y -2< = x-y< = 3 y y delays to x x x> 3 y y 3< x, 1< = y conjuncts to -2< = x-y< = 3 a a x x y:= 0 y: 0 3< x, y= 0 , y projects to j t t Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [10] Kim Larsen [10]

  11. Datastructures for Zones Datastructures for Zones  Difference Bounded -4 Matrices (DBMs) ( ) x1 x2 4  Minimal Constraint 3 3 2 -2 -2 Form 2 2 x0 x3 1 [RTSS97] 5  Clock Difference Diagrams [CAV99] Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [11] Kim Larsen [11]

  12. Forward Reachability Forward Reachability Init -> Final ? INITIAL Passed := Ø; PW Waiting := { (n 0 ,Z 0 )} Waiting Final REPEAT REPEAT pick (n,Z) in Waiting if (n,Z) = Final return true for all (n,Z)  (n’,Z’): ( , ) ( , ) if for some (n’,Z’’) Z’  Z’’ continue else add (n’,Z’) to Waiting move (n,Z) to Passed UNTIL Waiting = Ø return false Init Passed 12 12 Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012

  13. Forward Reachability Forward Reachability Init -> Final ? INITIAL Passed := Ø; PW Waiting := { (n 0 ,Z 0 )} Waiting Final REPEAT REPEAT pick (n,Z) in Waiting if (n,Z) = Final return true for all (n,Z)  (n’,Z’): ( , ) ( , ) if for some (n’,Z’’) Z’  Z’’ continue else add (n’,Z’) to Waiting move (n,Z) to Passed UNTIL Waiting = Ø return false Init Passed 13 13 Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012

  14. Forward Reachability Forward Reachability Init -> Final ? INITIAL Passed := Ø; PW Waiting := { (n 0 ,Z 0 )} Waiting Final? Final? REPEAT REPEAT pick (n,Z) in Waiting if (n,Z) = Final return true for all (n,Z)  (n’,Z’): ( , ) ( , ) if for some (n’,Z’’) Z’  Z’’ continue else add (n’,Z’) to Waiting move (n,Z) to Passed UNTIL Waiting = Ø return false Init Passed 14 14 Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012

  15. Forward Reachability Forward Reachability Init -> Final ? INITIAL Passed := Ø; PW Waiting := { (n 0 ,Z 0 )} Waiting Final REPEAT REPEAT pick (n,Z) in Waiting if (n,Z) = Final return true for all (n,Z)  (n’,Z’): ( , ) ( , ) if for some (n’,Z’’) Z’  Z’’ continue else add (n’,Z’) to Waiting move (n,Z) to Passed UNTIL Waiting = Ø return false Init Passed 15 15 Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012

  16. Forward Reachability Forward Reachability Init -> Final ? INITIAL Passed := Ø; PW Waiting := { (n 0 ,Z 0 )} Waiting Final REPEAT REPEAT pick (n,Z) in Waiting if (n,Z) = Final return true for all (n,Z)  (n’,Z’): ( , ) ( , ) if for some (n’,Z’’) Z’  Z’’ continue else add (n’,Z’) to Waiting move (n,Z) to Passed UNTIL Waiting = Ø return false Init Passed 16 16 Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012

  17. Forward Reachability Forward Reachability Init -> Final ? INITIAL Passed := Ø; PW Waiting := { (n 0 ,Z 0 )} Waiting Final REPEAT REPEAT pick (n,Z) in Waiting if (n,Z) = Final return true for all (n,Z)  (n’,Z’): ( , ) ( , ) if for some (n’,Z’’) Z’  Z’’ continue else add (n’,Z’) to Waiting move (n,Z) to Passed UNTIL Waiting = Ø return false Init Passed 17 17 Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012

  18. Forward Reachability Forward Reachability Init -> Final ? INITIAL Passed := Ø; PW Waiting := { (n 0 ,Z 0 )} Waiting Final REPEAT REPEAT pick (n,Z) in Waiting if (n,Z) = Final return true for all (n,Z)  (n’,Z’): ( , ) ( , ) if for some (n’,Z’’) Z’  Z’’ continue else add (n’,Z’) to Waiting move (n,Z) to Passed UNTIL Waiting = Ø return false Init Passed 18 18 Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012

  19. Symbolic Exploration Symbolic Exploration y x Reachable? Reachable? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [19] Kim Larsen [19]

  20. Symbolic Exploration Symbolic Exploration y x Delay Reachable? Reachable? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [20] Kim Larsen [20]

  21. Symbolic Exploration Symbolic Exploration y x Left Reachable? Reachable? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [21] Kim Larsen [21]

  22. Symbolic Exploration Symbolic Exploration y x Left Reachable? Reachable? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [22] Kim Larsen [22]

  23. Symbolic Exploration Symbolic Exploration y x Delay Reachable? Reachable? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [23] Kim Larsen [23]

  24. Symbolic Exploration Symbolic Exploration y x Left Reachable? Reachable? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [24] Kim Larsen [24]

  25. Symbolic Exploration Symbolic Exploration y x Left Reachable? Reachable? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [25] Kim Larsen [25]

  26. Symbolic Exploration Symbolic Exploration y x Delay Reachable? Reachable? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [26] Kim Larsen [26]

  27. Symbolic Exploration Symbolic Exploration y x Down Reachable? Reachable? Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [27] Kim Larsen [27]

  28. Verification Verification Options Options

  29. Verification Options Verification Options Search Order Depth First Breadth First St t State Space Reduction S R d ti None Conservative Aggressive St t State Space Representation S R t ti DBM Compact Form Under Approximation Over Approximation O A i ti Diagnostic Trace Some Shortest Fastest F t t Extrapolation Hash Table size Reuse Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [29] Kim Larsen [29]

  30. State Space Reduction State Space Reduction Cycles: Only symbolic states involving loop-entry points involving loop entry points need to be saved on Passed list Summer School on Summer School on Informatics RIO Informatics RIO 2012 2012 Kim Larsen [30] Kim Larsen [30]

Recommend


More recommend