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
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]
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]
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]
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]
Symbolic Symbolic Verification Verification The UPPAAL Verification Engine Verification Engine
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]
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]
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]
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]
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]
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
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
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
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
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
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
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
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]
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]
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]
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]
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]
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]
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]
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]
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]
Verification Verification Options Options
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]
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