1 / 170

Tom Henzinger University of California, Berkeley

The Symbolic Approach to Hybrid Systems. Tom Henzinger University of California, Berkeley. Discrete (transition) system. Discrete (transition) system. Continuous (dynamical) system. Q = R n.

gailm
Download Presentation

Tom Henzinger University of California, Berkeley

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Symbolic Approach to Hybrid Systems Tom Henzinger University of California, Berkeley

  2. Discrete (transition) system

  3. Discrete (transition) system Continuous (dynamical) system Q = Rn

  4. Discrete (transition) system Continuous (dynamical) system Q = Rn Hybrid system jumps flows

  5. Discrete (transition) system Continuous (dynamical) system Q = Rn Hybrid system jumps flows -nondeterministic -time abstract

  6. A Thermostat States x  R temperature h  { on, off } heat

  7. A Thermostat States x  R temperature h  { on, off } heat Flows f1Y h = on  x' = K(H-x) f2Y h = off  x' = -Kx invariants

  8. A Thermostat States x  R temperature h  { on, off } heat Flows f1Y h = on  x' = K(H-x) f2Y h = off  x' = -Kx Jumps j1Y h = on  h := off j2Y h = off  h := on guards

  9. f1 h = on j1 j2 h = off f2 x

  10. A Thermostat States x  R temperature h  { on, off } heat t  R timer Flows f1Y h = on  t  U  x' = K(H-x); t' := 1 f2Y h = off  t  U  x' = -Kx; t' := 1 Jumps j1Y h = on  t  L  h := off; t' := 0 j2Y h = off  t  L  h := on; t' := 0

  11. A Thermostat States x  R temperature h  { on, off } heat t  R timer Flows f1Y h = on  t  U  x' = K(H-x); t' = 1 f2Y h = off  t  U  x' = -Kx; t' = 1 Jumps j1Y h = on  t  L  h := off; t := 0 j2Y h = off  t  L  h := on; t := 0

  12. A Thermostat States x  R temperature h  { on, off } heat t  R timer Flows f1Y h = on  t  U  x' = K(H-x); t' = 1 f2Y h = off  t  U  x' = -Kx; t' = 1 Jumps j1Y h = on  t  L  h := off; t := 0 j2Y h = off  t  L  h := on; t := 0

  13. x f1 h = on t x h = off t L U

  14. x f1 h = on j1 t x h = off t L U

  15. x f1 h = on j1 t x h = off f2 t L U

  16. x f1 h = on j1 t x j2 h = off f2 t L U

  17. x f1 h = on j1 t x j2 h = off f2 t L U

  18. x f2 h = off t L U Step 1: Discretize

  19. Transition System Q set of states  set of actions post: Q    2Q successor function

  20. Transition System Q set of states  set of actions post: Q    2Q successor function Thermostat Q = R2 { on, off } = { f1, f2, j1, j2 } post ( x, t, on, j1) = { { (x, 0, off) } if t  L  if t < L

  21. Transition System Q set of states  set of actions post: Q    2Q successor function Thermostat Q = R2 { on, off } = { f1, f2, j1, j2 } post ( x, t, on, j1) = post ( x, t, on, f1) = { { (x, 0, off) } if t  L  if t < L infinite set if t < U { (x, 0, on) } if t = U  if t > U {

  22. x Step 2: Lift h = on t x R h = off t L U

  23. x Step 2: Lift h = on t x R h = off post(R,f2) t L U

  24. x Step 2: Lift post( post(R,f2), j2) h = on t x R h = off post(R,f2) t L U

  25. Lifted Transition System Q  post: 2Q    2Q post(R,) = UqQ post(q,)

  26. Lifted Transition System Q  post: 2Q    2Q post(R,) = UqQ post(q,) pre: 2Q    2Q pre(R,) = UqQ pre(q,)

  27. x h = on t x h = off R t L U

  28. x h = on t x pre(R,f2) h = off R t L U

  29. x pre( pre(R,f2), j2) h = on t x pre(R,f2) h = off R t L U

  30. x Step 3: Observe h = on t x 3 < x < 4 h = off 2 < x < 3 1 < x < 2 0 < x < 1 t L U

  31. Observed Transition System Q  pre, post: 2Q    2Q A = { a1, a2, a3, … } set of observations Q a3 a2 a1

  32. Observed Transition System Q  pre, post: 2Q    2Q A set of observations Thermostat A = { on, off } [ { x = c, c < x < c+1 | c  Z }

  33. Symbolic Transition System Q  pre, post A = { R1, R2, … } set of regions Ri  Q Region algebra: 1. A  2. pre, post:      computable 3. Å : 2   \ : 2   computable  : 2  { t, f }

  34. Symbolic Transition System 1. Local computation: Region Operations Compute pre, post, Å , \ , and  on regions in . 2. Global computation: Symbolic Semi-Algorithms Starting from the observations in A, compute new regions in  by applying the operations pre, post, Å , \ , and  .

  35. Region Algebra If -Q is the valuations for a set X:Vals of typed variables, -the effect of transitions can be expressed using Ops on Vals, -the first-order theory FO(Vals,Ops) admits quantifier elimination, then the quantifier-free fragment ZO(Vals,Ops) is a region algebra. This is because each pre and post operation is a quantifier elimination: pre(R(X)) = (X) (Trans(X,X)  R(X))

  36. Example: Polyhedral Hybrid Automata Q = Bm Rn Invariants and guards: boolean and linear constraints, e.g. a  (3x1 + x2 7) Flows: rectangular differential inclusions, e.g. x'1 [1,2] Jumps: boolean and linear constraints, e.g. x2 := 2x1 + x2 +1

  37. Example: Polyhedral Hybrid Automata Q = Bm Rn Invariants and guards: boolean and linear constraints, e.g. a  (3x1 + x2 7) Flows: rectangular differential inclusions, e.g. x'1 [1,2] Jumps: boolean and linear constraints, e.g. x2 := 2x1 + x2 +1 A = set of boolean valuations and integral polyhedra in Rn

  38. Example: Polyhedral Hybrid Automata Q = Bm Rn Invariants and guards: boolean and linear constraints, e.g. a  (3x1 + x2 7) Flows: rectangular differential inclusions, e.g. x'1 [1,2] Jumps: boolean and linear constraints, e.g. x2 := 2x1 + x2 +1 A = set of boolean valuations and integral polyhedra in Rn  = set of boolean valuations and rational polyhedra in Rn x= … ZO(Q,,+)

  39. Example: Polyhedral Hybrid Automata FO(Q,,+) admits quantifier elimination, hence ZO(Q,,+) is a region algebra. Jump j: Y x1 x2  x2 := 2x1-1 pre( 1 x1  x2  2, j ) = ( x1, x2) (x1 x2  x1 = x1  x2 = 2x1-1  1 x1 x2  2)

  40. Example: Polyhedral Hybrid Automata FO(Q,,+) admits quantifier elimination, hence ZO(Q,,+) is a region algebra. Jump j: Y x1 x2  x2 := 2x1-1 pre( 1 x1  x2  2, j ) = ( x1, x2) (x1 x2  x1 = x1  x2 = 2x1-1  1 x1 x2  2) = x1 x2  1  x1  2x1-1  2 = x1 x2  1  x1  3/2

  41. x2 R x1

  42. x2 pre(R,j) R x1

  43. Example: Polyhedral Hybrid Automata Flow f: Y x1 x2  x'1 [1,2]; x'2 = 1 pre( 1 x1  x2  2, f ) = ( 1 k1 2) (   0) (1 x1+k1  x2+  2 ( 0    ) (x1+k1  x2+))

  44. Example: Polyhedral Hybrid Automata Flow f: Y x1 x2  x'1 [1,2]; x'2 = 1 pre( 1 x1  x2  2, f ) = ( 1 k1 2) (   0) (1 x1+k1  x2+  2 ( 0    ) (x1+k1  x2+)) = (   0) (  d1 2) (1 x1+d1  x2+  2 x1 x2  x1+d1  x2+) convex guards

  45. Example: Polyhedral Hybrid Automata Flow f: Y x1 x2  x'1 [1,2]; x'2 = 1 pre( 1 x1  x2  2, f ) = ( 1 k1 2) (   0) (1 x1+k1  x2+  2 ( 0    ) (x1+k1  x2+)) = (   0) (  d1 2) (1 x1+d1  x2+  2 x1 x2  x1+d1  x2+) = (   0) (x1 x2  1 x1+2  1 x2+ 2) =x1 x2  x2  2  2x2  x1+3 convex guards

  46. x2 R pre(R,f) x1 f

  47. y x

  48. far near x = 1000 x’[-50,-40] x’[-50,-30] app! app x  1000 x  0 exit! x = 100  x : [2000,) x = 0 exit past x’[30,50] x  100 train x: initialized rectangular variable

  49. up open y = 90 y’ = 9 y’ = 0 y  90 raise raise? lower? raise? lower down closed y = 0 y’ = -9 y’ = 0 y  0 gate lower? y: uninitialized singular variable

  50. app exit t := 0 t := 0 t’ = 1 app? exit? t’ = 1 idle t   t   lower! raise! controller lower raise t: clock variable : design parameter

More Related