Succinct Approximations of Distributed Hybrid Behaviors P.S. Thiagarajan School of Computing, National University of Singapore Joint Work with: Yang Shaofa IIST, UNU, Macau (To be presented at HSCC 2010)
Hybrid Automata � Hybrid behaviors: � Mode-specific continuous dynamics + discrete mode changes � Standard model: Hybrid Automata • Piecewise constant rates • Rectangular guards
Piecewise Constant Rates A ρ A {x 1 , x 2 , x 3 } g B ρ B ρ D D ρ B (x1, x2, x3) = (2, -3.5, 1) C dx 1 /dt = 2 x 1 (t) = 2t + x 1 (0) ρ C dx 2 /dt = -3.5 dx 3 /dt = 1 3
Rectangular Guards ρ A g ρ B ρ D ρ C x 2 x ≤ c | x ≥ c | ϕ ∧ ϕ ’ x 1 4
Initial Regions (x 1 ≤ 2 ∧ x 1 ≥ 1) ∧ (x 2 ≤ 3.5 ∧ x 2 ≥ 0.5) ρ A x 2 g x 1 ρ B ρ D ρ C 5
Highly Expressive � Piecewise constant rates; rectangular guards � The control state (mode) reachability problem is undecidable. � Given q f , Whether there exists a trajectory (q 0 , x 0 ) (q 1 , x 1 ) ……. (q m , x m ) such that q m = q f � q 0 = initial mode; x 0 in initial region. � HKPV’95
(q 4 , x 4 ) (q 1 , x 1 ) g ρ (q 0 ) (q 2 , x 2 ) (q 0 , x 0 ) (q 3 , x 3 ) 7
Two main ways to circumvent undecidability � If its rate changes as the result of a mode change, � Reset the value of a variable to a pre- determined region
Hybrid Automata with resets. VF x > 5 5 dx/dt = 3 dx/dt = -1.5 x < 2.8 2.8 VD 9
Hybrid Automata with resets. VF x > 5 x ← [2, 4] 5 dx/dt = 3 dx/dt = -1.5 x < 2.8 2.8 VD 10
Control Applications PLANT actuators Sensors Digital Controller The reset assumption is untenable . 11
PLANT actuators Sensors Digital Controller [HK’97]: Discrete time assumption. The plant state is observed only at (periodic) discrete time points T 0 T 1 T 2 ….. T i+1 – T i = Δ 12
Discrete time behaviors � The discrete time behavior of a hybrid automaton: � Q : The set of modes � q 0 q 1 …q m is a state sequence iff there exists a run (q 0 , v 0, ) (q 1 , v 1 ) … (q m , v m ) of the automaton. � The discrete time behavior of Aut is � L(Aut) ⊆ Q* � the set of state sequences of Aut. 13
� [HK’97]: � The discrete time behavior of (piecewise constant + rectangular guards) an hybrid automaton is regular. � A finite state automaton representing this language can be effectively constructed. � Discrete time behavior is an approximation. With fast enough sampling, it is a good approximation.
� [AT’04]: The discrete time behavior of an hybrid automaton is regular even with delays in sensing and actuating (laziness)
δ g k g + δ g k-1 g The value of x i reported at t = k is the value at some t’ in [(k-1)+ g, (k-1)+g + δ g ] g and δ g are fixed rationals 16
h + δ h h k k+1 δ h If a mode change takes place at t = k is then x i starts evolving at ρ ’(x i ) at some t’ in [k+ h, k+h + δ h ] h and δ h are fixed rationals. 17
Global Hybrid Automata PLANT Sensors Actuators ρ (x1) ! ? x1 ρ (x2) ! ? x2 Digital Controller ρ (x3) ! ? x3 18
Distributed Hybrid Automata Sensors PLANT Actuators ? x1 p 1 ρ (x1) ! ? x2 p 2 ρ (x2) ! p 3 ρ (x3) ! ? x3 19
No explicit communication between the automata.. However, coordination through the shared memory of the plant’s state space.
The Communictaion graph of DHA Obs(p) --- The set of variables observed by p Ctl(p) --- The set of variables controlled by p Ctl(p) ∩ Ctl(q) = ∅ Nbr(p) = Obs(p) ∪ Ctl(p)
[ ρ (s 0 1 ), ρ (s 0 2 ), ρ (s 0 3 )] [(s 0 1 , v 0 1 ), (s 0 2 , v 0 2 ), (s 0 3 , v 0 3 )] 22
[(s 2 1 , v 2 1 ), (s 2 2 , v 2 2 ), (s 2 3 , v 2 3 )] [(s 1 1 , v 1 1 ), (s 1 2 , v 1 2 ), (s 1 3 , v 1 3 )] [ ρ (s 0 1 ), ρ (s 0 2 ), ρ (s 0 3 )] [(s 0 1 , v 0 1 ), (s 0 2 , v 0 2 ), (s 0 3 , v 0 3 )] 23
[(s 2 1 , v 2 1 ), (s 2 2 , v 2 2 ), (s 2 3 , v 2 3 )] [(s 1 1 , v 1 1 ), (s 1 2 , v 1 2 ), (s 1 3 , v 1 3 )] [ ρ (s 0 1 ), ρ (s 0 2 ), ρ (s 0 3 )] [(s 3 1 , v 3 1 ), (s 3 2 , v 3 2 ), (s 3 3 , v 3 3 )] [(s 0 1 , v 0 1 ), (s 0 2 , v 0 2 ), (s 0 3 , v 0 3 )] 24
[(s 2 1 , v 2 1 ), (s 2 2 , v 2 2 ), (s 2 3 , v 2 3 )] [(s 4 1 , v 4 1 ), (s 4 2 , v 4 2 ), (s 4 3 , v 4 3 )] [(s 1 1 , v 1 1 ), (s 1 2 , v 1 2 ), (s 1 3 , v 1 3 )] [ ρ (s 0 1 ), ρ (s 0 2 ), ρ (s 0 3 )] [(s 3 1 , v 3 1 ), (s 3 2 , v 3 2 ), (s 3 3 , v 3 3 )] [(s 0 1 , v 0 1 ), (s 0 2 , v 0 2 ), (s 0 3 , v 0 3 )] 25
Discrete time behavior: (Global) state sequences 3 ] . . . . [s 0 1 , s 0 2 , s 0 3 ] [s 1 1 ,s 1 2 ,s 1 3 ] [s 2 1 , s 2 2 , s 2 3 ] [s 3 1 , s 3 2 , s 3 26
Discrete time behaviors � The discrete time behavior of DHA is � L( DHA ) ⊆ (S p1 × S p2 × ….. × S pn )* � the set of global state sequences of DHA. � L( DHA ) is regular? 27
Discrete time behaviors � The discrete time behavior of DHA is � L( DHA ) ⊆ (S p1 × S p2 × ….. × S pn )* � the set of global state sequences of DHA. � L( DHA ) is regular? � Yes. Construct the (syntactic product) AUT of DHA. � AUT will have piecewise constant rates and rectangular guards. Hence….. 28
Global HA Network of HAs Syntactic product Discretization m ---- the number of component automata in DHA The size of DHA will be linear in m The size of AUT will be exponential in m. Global FSA Can we do better?
Global HA Network of HAs Syntactic Product Local Discretization discretization Product Global FSA Network of FSAs
Global FSA Network of HAs Network of FSAs discretization Local
Location node Variable node For each node, construct an FSA Each FSA will “read” from all its neighbor FSAs to make its moves. Nbr(p) = Ctl(p) ∪ Obs(p) Nbr(x) = {p | x ∈ Ctl(p) ∪ Obs(p) }
Aut x � Aut x will keep track of the current value of x � CTL(x) = p if x ∈ Ctl(p) � A move of Aut x : � read the current rate of x from Aut CTL(x) and update the current value of x � Can only keep bounded information � Quotient the value space of x
Quotienting the value space of x v max v min
Quotienting the value space of x INIT x
Quotienting the value space of x c, c’ , ., . ., the constants that appear in some guard c’ c
Quotienting the value space of x ρ , ρ ’ ….. rates of x associated with modes in AUT CTL(x) | ρ | | ρ ’| Find the largest positive rational that evenly divides all these rationals . Use it to divide [v min, v max] into uniform intervals
Quotienting the value space of x
Quotionting the value space of x ( ( ) ) A move of Aut x : If Aut x is in state I and CTL(x) = p and Aut p ’s state is ρ then Aut x moves from I to I’ = ρ (I)
( ( ) ( ) ) I’ I (s 2 , ρ 2 ) (s 1 , ρ 1 ) I Aut(x 1 ) I’ = ρ 1 (I) I’
I1 (s 2 , ρ 2 ) I2 (s 2 , ρ 2 ) I3 Aut (p 2 ) (v1, v3) satisfies g for some (v1, v3) in I1 × I3 g (s’ 2 , ρ ’ 2 ) (s’ 2 , ρ ’ 2 )
Aut(p 3 ) Aut(p 1 ) Aut(x 1 ) Aut(x 3 ) Aut(x 2 ) Aut(p 2 ) Each automaton will have a parity bit. This bit flips every time the automaton makes a move. Initially all the parities are 0. A variable node automaton makes a move only when its parity is the same as all its neighbors’ A location node automaton makes a move only when its parity is different from all its neighbors.
Aut(x 2 ) Aut(p 1 ) Aut(p 2 ) Aut(x 1 ) Aut(x 3 ) Aut(p 3 )
Aut(x 2 ) Aut(p 1 ) Aut(p 2 ) Aut(x 1 ) Aut(x 3 ) Aut(p 3 )
Aut(x 2 ) Aut(p 1 ) Aut(p 2 ) Aut(x 1 ) Aut(x 3 ) Aut(p 3 )
Aut(x 2 ) Aut(p 1 ) Aut(p 2 ) Aut(x 1 ) Aut(x 3 ) Aut(p 3 )
Aut(x 2 ) Aut(p 1 ) Aut(p 2 ) Aut(x 1 ) Aut(x 3 ) Aut(p 3 )
Aut(x 2 ) Aut(p 1 ) Aut(p 2 ) Aut(x 1 ) Aut(x 3 ) Aut(p 3 )
Aut(x 2 ) Aut(p 1 ) Aut(p 2 ) Aut(x 1 ) Aut(x 3 ) Aut(p 3 )
Aut(x 2 ) Aut(p 1 ) Aut(p 2 ) Aut(x 1 ) Aut(x 3 ) Aut(p 3 )
Aut(x 2 ) Aut(p 1 ) Aut(p 2 ) Aut(x 1 ) Aut(x 3 ) Aut(p 3 )
Aut(p 3 ) Aut(p 1 ) Aut(x 1 ) Aut(x 3 ) Aut(x 2 ) Aut(p 2 ) The automata can ‘drift” in time steps.
Aut(p 3 ) Aut(p 1 ) Aut(x 1 ) Aut(p 2 ) Aut(x 3 ) Aut(x 2 ) Aut ------ The asynchronous product of { Aut(x 1 ), Aut(p 1 ), Aut(x 2 ), Aut(p 2 ), Aut(x 3 ), Aut(p 3 ) } Each global state of Aut will induce a global state of DHA . f [(I1, (s1, ρ 1), I2, (s2, ρ 2), I3, (s3, ρ 3)] [s1, s2, s3] In fact, each complete state sequence of Aut will induce a global state sequence of DHA.
A state sequence τ of Aut is complete iff all the FSA make an equal number of moves along τ . [ -- , s23, -- ] [ -- , s21, -- ] [ -- , s22, -- ] s10, s20, s30]
s10, s20, s30] [s13, --, --] [s12, --, --] [s11, --, --]
s10, s20, s30] [---, ---, s32] [---, ---, s31] [---, ---, s32]
[ -- , s23, -- ] [ -- , s21, -- ] [ -- , s22, -- ] s10, s20, s30] [s13, --, --] [s12, --, --] [s11, --, --] [---, ---, s32] [---, ---, s31] [---, ---, s32] [s10, s20, s30] [s11, s21, s31] [s12, s22, s32] [s13, s23, s33]
Recommend
More recommend