uppaal tutorial
play

UPPAAL tutorial Modeling Verification 1 2 Architecture of UPPAAL - PDF document

UPPAAL Tool Simulation UPPAAL tutorial Modeling Verification 1 2 Architecture of UPPAAL Whats inside UPPAAL Linux, Windows, Solaris, MacOS 3 4 All Operations on Zones Inside the UPPAAL tool (needed for verification)


  1. UPPAAL Tool Simulation UPPAAL tutorial Modeling Verification 1 2 Architecture of UPPAAL What’s inside UPPAAL Linux, Windows, Solaris, MacOS 3 4 All Operations on Zones Inside the UPPAAL tool (needed for verification)  Transformation S1  Conjunction  Data Structures S2, S3, ... , Sn  DBM’s (Difference Bounds Matrices)  Post condition (delay)  Canonical and Minimal Constraints  Reset Si Sj  Algorithms  Reachability analysis  Consistency Checking  Liveness checking  Inclusion  Verification Options  Emptiness 5 6 1

  2. Datastructures for Zones in UPPAAL Zones = Conjuctive constraints -4 Difference Bounded Matrices A zone Z is a conjunctive formula:  x1 x2  [Bellman58, Dill89] 4 g 1 & g 2 & ... & g n 3 3 -2 2 -2 Minimal Constraint Form 2 where g i may be x i ~ b i or x i -x j ~b ij  x0 x3 [RTSS97] 1 Use a zero-clock x 0 (constant 0), we have 5  {x i -x j ~ b ij | ~ is < or  , i,j  n} Clock Difference Diagrams  [CAV99] This can be represented as a MATRIX, DBM  (Difference Bound Matrices) 7 8 Canonical Dastructures for Zones Canonical Datastructures for Zones Bellman 1958, Dill 1989 Difference Bounded Matrices Difference Bounded Matrices Bellman 1958, Dill 1989 Inclusion Inclusion x x x 1 2 1 2 x<=1 x<=1 1 2 Shortest y-x<=2 y-x<=2 Z1 Z1 Path 3 Graph y Graph y 0 0 y 0 z-y<=2 z-y<=2 Closure 9 9 5 z<=9 2 z<=9 2 z z 2 z   Z1  Z2 ! ? ? ? ? Z2 Z2 x x<=2 x x<=2 x 2 3 Shortest 2 3 2 3 y-x<=3 y-x<=3 Path 3 3 3 y<=3 Graph y<=3 Graph 0 y y y 0 0 Closure z-y<=3 z-y<=3 6 3 7 7 3 3 z z<=7 z<=7 z z 9 10 Canonical Datastructures for Zones Canonical Datastructures for Zones Difference Bounded Matrices Bellman 1958, Dill 1989 Difference Bounded Matrices Conjunction Emptiness y y Z  g Z x 1<=x, 1<=y x x 1<=x, 1<=y -2<=x-y<=3 1 Z x<=1 -2<=x-y<=3 3<=x 3 y>=5 Graph 0 y-x<=3 y x -5 x -3 -3 x Add new edge -1 -1 3 for g 3 0 0 3 0 Negative Cycle 2 iff 2 2 -1 y -1 y -1 y empty solution set 11 12 2

  3. Canonical Dastructures for Zones Canonical Datastructures for Zones Difference Bounded Matrices Difference Bounded Matrices y Reset y Delay y y {y}Z Z x x Z  Z 1<=x, 1<=y x x -2<=x-y<=3 y=0, 1<=x 1<= x <=4 1<=x, 1<=y 1<= y <=3 -2<=x-y<=3 x Remove all -1 -1 bounds x 3 4 4 x x 0 0 involving y 0 Remove -1 Shortest and set y to 0 -1 -1 2 upper 0 3 3 Path 0 0 -1 y 3 3 0 y bounds Closure on clocks 2 2 -1 y -1 y -1 y 13 14 Datastructures for Zones in UPPAAL COMPLEXITY -4  Computing the shortest path closure, the Difference Bounded Matrices  x1 x2 [Bellman58, Dill89] 4 cannonical form of a zone: O(n 3 ) [Dijkstra’s alg.] 3 3 -2 2 -2  Run-time complexity, mostly in O(n) 2 Minimal Constraint Form  x0 x3 [RTSS97] 1 (when we keep all zones in cannonical form) 5 Clock Difference Diagrams  [CAV99] 15 16 Graph Reduction Algorithm Minimal Graph -4 G: weighted graph -4 x1 x1 x2 x2 1. Equivalence classes based Shortest x1-x2<=-4 -1 Path on 0-cycles. x2-x1<=10 10 4 Closure x3-x1<=2 3 2 3 3 -2 O(n 3 ) 2 x2-x3<=2 -2 2 2 x0-x1<=3 7 x3-x0<=5 x3 x0 x0 x3 5 1 5 -4 (DBM) x2 Shortest x1 Path Space worst O(n 2 ) Reduction practice O(n) O(n 3 ) 2 3 3 2 (Minimal graph, a.ka. compact data structure) x0 x3 17 18 3

  4. Graph Reduction Algorithm Graph Reduction Algorithm G: weighted graph G: weighted graph 1. Equivalence classes based 1. Equivalence classes based on 0-cycles. on 0-cycles. 2. Graph based on 2. Graph based on representatives. representatives. Safe to remove redundant edges Safe to remove redundant edges 3. Shortest Path Reduction = One cycle pr. class + Removal of redundant edges between classes 19 20 Datastructures for Zones in UPPAAL Other Symbolic Datastructures -4 CDD-representations  NDD’s Maler et. al. Difference Bounded Matrices  x1 x2 [Bellman58, Dill89] 4  CDD’s UPPAAL/CAV99 3 3 -2 2  DDD’s Møller, Lichtenberg -2 2 Minimal Constraint Form   Polyhedra HyTech x0 x3 [RTSS97] 1 5  ...... Clock Difference Diagrams  [CAV99] 21 22 Timed CTL in UPPAAL Inside the UPPAAL tool E<> p | A[] p | E[] p | A<> p | p - -> q  Data Structures P ::= A.l | g c | g d | not p| p or p | p and p | p imply p  DBM’s (Difference Bounds Matrices)  Canonical and Minimal Constraints  Algorithms  Reachability analysis Process predicate Clock  Liveness checking Location over data variables constraint  Verification Options (a location in automaton A) denotes A[] (p imply A<> q) SAFETY PROPERTIES 23 24 4

  5. Timed CTL (a simplified version) We have a search problem Syntax Symbolic state (n 0 ,Z 0 )  :: = p |   |    | EX  | E[  U  ] | A[  U  ] Symbolic transitions where p  AP (atomic propositions) or Clock constraint S2, S3 ...... Sn Derived Operators T1 T2 AG p EF p  Reachable? p p E<>  A[] P in UPPAAL E<> P in UPPAAL 26 25 Forward Reachability Forward Reachability Init -> Final ? Init -> Final ? INITIAL Passed := Ø; INITIAL Passed := Ø; Waiting := {(n0,Z0)} Waiting := {(n0,Z0)} Final Final Waiting Waiting REPEAT REPEAT n,Z - pick (n,Z) in Waiting - pick (n,Z) in Waiting   - if for some Z’ Z - if for some Z’ Z (n,Z’) in Passed then STOP (n,Z’) in Passed then STOP - else /explore/ add - else (explore) add { (m,U) : (n,Z) => (m,U) } { (m,U) : (n,Z) => (m,U) } to Waiting ; to Waiting ; Add (n,Z) to Passed Add (n,Z) to Passed n,Z’ UNTIL Waiting = Ø UNTIL Waiting = Ø Init Init Passed Passed or or Final is in Waiting Final is in Waiting 27 28 Forward Reachability Forward Reachability Init -> Final ? Init -> Final ? INITIAL Passed := Ø; INITIAL Passed := Ø; Waiting := {(n0,Z0)} Waiting := {(n0,Z0)} Waiting Final Waiting Final m,U m,U REPEAT REPEAT - pick (n,Z) in Waiting - pick (n,Z) in Waiting n,Z n,Z   - if for some Z’ Z - if for some Z’ Z (n,Z’) in Passed then STOP (n,Z’) in Passed then STOP - else /explore/ add - else /explore/ add { (m,U) : (n,Z) => (m,U) } { (m,U) : (n,Z) => (m,U) } to Waiting ; to Waiting ; Add (n,Z) to Passed Add (n,Z) to Passed n,Z’ n,Z’ UNTIL Waiting = Ø UNTIL Waiting = Ø Init Init Passed Passed or or Final is in Waiting Final is in Waiting 29 30 5

  6. Forward Reachability Init -> Final ? Further question INITIAL Passed := Ø; Waiting := {(n0,Z0)} Waiting Final m,U REPEAT Can we find the path with shortest delay, leading to P ? - pick (n,Z) in Waiting n,Z (i.e. a state satisfying P)  - if for some Z’ Z (n,Z’) in Passed then STOP - else /explore/ add { (m,U) : (n,Z) => (m,U) } OBSERVATION: to Waiting ; Many scheduling problems can be phrased naturally as Add (n,Z) to Passed n,Z’ reachability problems for timed automata. UNTIL Waiting = Ø Init Passed or Final is in Waiting 31 32 Verification vs. Optimization State reachable?  Verification Algorithms: OPTIMAL REACHABILITY  Checks a logical property of the entire state-space of a model. 80  Efficient Blind search.  Optimization Algorithms: The maximal and minimal delay problem Min time of reaching state?  Finds (near) optimal solutions.  Uses techniques to avoid non- optimal parts of the state-space (e.g. Branch and Bound).  Goal: solve opt. problems with 60 verification. 33 34 Find the trace leading to P with min delay Find the trace leading to P with min delay S 0 S 0 There may Idea: delay as ” Cost ” to reach p be a lot of p a state, thus cost increases with time at rate 1 pathes leading p to P p p p p p p p p p Which one p p with the shortest p p p p p p delay? p p pp p p p p pp p p p p p p 35 36 6

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