MODELING OF MODELING OF HYBRID SYSTEMS HYBRID SYSTEMS C. G. - - PowerPoint PPT Presentation

modeling of modeling of hybrid systems hybrid systems
SMART_READER_LITE
LIVE PREVIEW

MODELING OF MODELING OF HYBRID SYSTEMS HYBRID SYSTEMS C. G. - - PowerPoint PPT Presentation

MODELING OF MODELING OF HYBRID SYSTEMS HYBRID SYSTEMS C. G. Cassandras C. G. Cassandras Dept. of Manufacturing Engineering and Center for Information and Systems Engineering (CISE) Boston University cgc@bu.edu http://vita.bu.edu/cgc CODES


slide-1
SLIDE 1

MODELING OF MODELING OF HYBRID SYSTEMS HYBRID SYSTEMS

  • C. G. Cassandras
  • C. G. Cassandras
  • Dept. of Manufacturing Engineering

and Center for Information and Systems Engineering (CISE) Boston University cgc@bu.edu http://vita.bu.edu/cgc

Christos G. Cassandras

CODES Lab. - Boston University

slide-2
SLIDE 2

OUTLINE

Christos G. Cassandras CODES Lab. - Boston University

TIME-DRIVEN vs EVENT-DRIVEN SYSTEMS DES: Automata, Petri Nets, Max-Plus Algebra DISCRETE EVENT SIMULATION → HYBRID SYSTEM SIMULATION HYBRID SYSTEMS: Hybrid Automata, MLD Systems MODELS FOR SWITCH TIMING CONTROL

slide-3
SLIDE 3

MORE COMPLEX LESS COMPLEX

TIME-DRIVEN SYSTEM EVENT-DRIVEN SYSTEM HYBRID SYSTEM

Christos G. Cassandras CODES Lab. - Boston University

slide-4
SLIDE 4

TIME-DRIVEN vs EVENT-DRIVEN SYSTEMS

TIME-DRIVEN SYSTEM

STATES TIME t x(t)

STATE SPACE:

X = ℜ

DYNAMICS:

( )

& , x f x t =

STATES s1 s2 s3 s4 TIME t t2 e2 x(t) t3 t4 t5 e3 e4 e5 EVENTS t1 e1

STATE SPACE:

{ }

X s s s s =

1 2 3 4

, , ,

DYNAMICS:

( )

e x f x , '=

EVENT-DRIVEN SYSTEM

Christos G. Cassandras CODES Lab. - Boston University

slide-5
SLIDE 5

AUTOMATA

AUTOMATON: (E, X, Γ, f, x0) Ε : Event Set X : State Space Γ(x) : Set of feasible or enabled events at state x

x X

0 ∈

x0 : Initial State,

f X E X : × →

( )

e x ∉Γ

f : State Transition Function (undefined for events )

{ }

e e

1 2

, ,K

{ }

x x

1 2

, ,K

( )

f x e x , ' =

Christos G. Cassandras CODES Lab. - Boston University

slide-6
SLIDE 6

TIMED AUTOMATON

Add a Clock Structure V to the automaton: (E, X, Γ, f, x0 , V) where: and vi is a Clock or Lifetime sequence:

  • ne for each event i

{ }

V v = ∈

i

i E :

{ }

K , ,

2 1 i i i

v v = v

Need an internal mechanism to determine NEXT EVENT e´ and hence NEXT STATE Need an internal mechanism to determine NEXT EVENT e´ and hence NEXT STATE

( )

x f x e ' , ' =

{ }

x x

1 2

, ,K

( )

f x e x , ' ' =

v1 vN

… NEXT EVENT

Christos G. Cassandras

CODES Lab. - Boston University

slide-7
SLIDE 7

HOW THE TIMED AUTOMATON WORKS...

CURRENT STATE x∈X with feasible event set Γ(x) x∈X with feasible event set Γ(x) CURRENT EVENT e that caused transition into x e that caused transition into x

  • CURRENT EVENT TIME

t associated with e t associated with e Associate a CLOCK VALUE/RESIDUAL LIFETIME yi with each feasible event Associate a CLOCK VALUE/RESIDUAL LIFETIME yi with each feasible event

( ) i x ∈Γ

Christos G. Cassandras

CODES Lab. - Boston University

slide-8
SLIDE 8

HOW THE TIMED AUTOMATON WORKS...

CONTINUED

  • NEXT/TRIGGERING EVENT e' :

( ){ }

i x i

y e

Γ ∈

= min arg '

  • NEXT EVENT TIME t' :

( ){ }

t t y y y

i x i

' * min = + =

where: *

Γ

  • NEXT STATE x' :

( )

x f x e ' , ' =

Christos G. Cassandras

CODES Lab. - Boston University

slide-9
SLIDE 9

HOW THE TIMED AUTOMATON WORKS...

CONTINUED

Determine new CLOCK VALUES for every event Determine new CLOCK VALUES for every event

′ yi

( )

i x ∈ Γ

( ) ( ) ( ) ( ) { }

i v

  • therwise

e x x i v e i x i x i y y y

ij ij i i

event for lifetime new : where , , * =      ′ − − ′ ∈ ′ ≠ ∈ ′ ∈ − = ′ Γ Γ Γ Γ

{ }

x x

1 2

, ,K

( )

} { min arg ' , ' , '

) ( i x i

y e e x f x

Γ ∈

= =

( )

V x, , ' y g y =

v1 vN

… EVENT CLOCKS ARE STATE VARIABLES

Christos G. Cassandras

CODES Lab. - Boston University

slide-10
SLIDE 10

TIMED AUTOMATON - AN EXAMPLE

QUEUE SERVER

Arrival Events Departure Events

{ } { }

K , 2 , 1 , , = = X d a E

( ) { } ( ) { }

a x d a x = > = all for , , Γ Γ

( )

f x e x e a x e d x , , ′ = + ′ = − ′ = >    1 1

{ } { }

K K , , , , , : input Given

2 1 2 1 d d d a a a

v v v v = = v v

Christos G. Cassandras

CODES Lab. - Boston University

slide-11
SLIDE 11

TIMED AUTOMATON

  • A TYPICAL SAMPLE PATH

CONTINUED

t0 x0 = 0

a

e1 = a

x0 = 1 t1

a d

e2 = a

x0 = 2 t2

a d

e3 = a

x0 = 3 t3

a d

x0 = 2

e4 = d

t4

Christos G. Cassandras

CODES Lab. - Boston University

slide-12
SLIDE 12

STOCHASTIC TIMED AUTOMATON

Same idea with the Clock Structure consisting of Stochastic Processes Associate with each event i a Lifetime Distribution based on

which vi is generated

Generalized Semi-Markov Process (GSMP)

In a simulator, vi is generated through a pseudorandom number generator In a simulator, vi is generated through a pseudorandom number generator

Christos G. Cassandras

CODES Lab. - Boston University

slide-13
SLIDE 13

STATE

x

STATE

x

TIME

t

TIME

t

RANDOM VARIATE GENERATOR RANDOM VARIATE GENERATOR

…is simply a computer-based implementation of the DES sample path generation mechanism described so far

SCHEDULED EVENT LIST

e2 t2

...

e1 t1

UPDATE TIME t' = t1 UPDATE TIME t' = t1 UPDATE STATE x' = f(x,e1) UPDATE STATE x' = f(x,e1)

x' INITIALIZE INITIALIZE

DELETE INFEASIBLE (ek, tk) DELETE INFEASIBLE (ek, tk)

x'

ADD NEW FEASIBLE (ek, t' +vk) AND RE-ORDER ADD NEW FEASIBLE (ek, t' +vk) AND RE-ORDER

t'

new event lifetimes vk

t'

DISCRETE EVENT SIMULATION

Christos G. Cassandras CODES Lab. - Boston University

slide-14
SLIDE 14

STATE

x

STATE

x

TIME

t

TIME

t

RANDOM VARIATE GENERATOR RANDOM VARIATE GENERATOR SCHEDULED EVENT LIST

e2 t2

...

e1 t1

UPDATE TIME t' = t1 UPDATE TIME t' = t1 UPDATE STATE x' = f(x,e1) UPDATE STATE x' = f(x,e1)

x' INITIALIZE INITIALIZE

DELETE INFEASIBLE (ek, tk) DELETE INFEASIBLE (ek, tk)

x'

ADD NEW FEASIBLE (ek, t' +vk) AND RE-ORDER ADD NEW FEASIBLE (ek, t' +vk) AND RE-ORDER

t'

new event lifetimes vk

t'

Time-driven dynamics determine t'+yk Time-driven dynamics determine t'+yk Timing of NEW FEASIBLE EVENTS is now determined by time-driven dynamics

HYBRID SYSTEM SIMULATION

Christos G. Cassandras CODES Lab. - Boston University

slide-15
SLIDE 15

PETRI NETS

Proceed by example and contrast to Timed Automaton model...

QUEUE SERVER

Arrival Events Departure Events

EVENTS:

  • Arrivals (a)
  • Departures (d)

STATES: Number of customers in queue

  • r in service, {0,1,2,…}

Christos G. Cassandras CODES Lab. - Boston University

slide-16
SLIDE 16

PETRI NETS

CONTINUED

a s d Q I B va vd

TRANSITIONS (EVENTS):

  • a : Customer arrives
  • s : Service starts
  • d : Customer departs

PLACES (CONDITIONS):

  • Q : Queue not empty
  • I : Server idle
  • B : Server busy

TRANSITION TIMING:

  • a →

va = {va,1, va,2, …}

  • s →

vs = 0 (no delay)

  • d →

vd = {vd,1, vd,2, …}

Transition fires after specified delay

Christos G. Cassandras CODES Lab. - Boston University

slide-17
SLIDE 17

PETRI NETS

CONTINUED

a s d Q I B va vd πQ,k : kth time Q gets token πI,k : kth time I gets token πB,k : kth time B gets token

[ ]

a a v s d v

k k a k k Q k I k k B k d k

= + = = +

−1 , , , , .

max , π π π

π π π

Q k k I k k B k k

a d s

, , ,

= = =

−1

ak : kth arrival time sk : kth service start time dk : kth departure time

[ ]

d a d v k

k k k d k

= + =

max , ,

. 1

12 , K

Christos G. Cassandras CODES Lab. - Boston University

slide-18
SLIDE 18

MAX-PLUS ALGEBRA

ADDITION: MULTIPLICATION:

[ ]

a b a b a b a b ⊕ = ⊗ = + m ax ,

  • From Petri net model:

[ ]

a a v a d a v d v d

k k a k k k a k k d k

= + = = + + =

− − − 1 1 1 , , .

max ,

  • Fix:

v C v C k

a k a d k d , ,

, , = , = f o r a l l = 1 2 K

  • Equations become:

( ) ( ) ( ) ( )

a a C d L L d a C d C

k k a k- k k d k- d + =

⊗ ⊕ ⊗ − − = −∞ = ⊗ ⊕ ⊗

1 1 1

Christos G. Cassandras CODES Lab. - Boston University

slide-19
SLIDE 19

MAX-PLUS ALGEBRA

CONTINUED

  • In matrix form:

a d C L C C a d

k k a d d k k + −

      = −            

1 1

  • Define:

x A

k k k a d d

a d C L C C =       = −      

+ 1

,

  • Get a “linear” system - in the max-plus sense:

x A x x

k k a

C

+

= =      

1

,

Christos G. Cassandras CODES Lab. - Boston University

slide-20
SLIDE 20

REFERENCES ON DES MODELING

Cassandras and Lafortune, Introduction to Discrete Event Systems, Kluwer, 1999 David and Alla, Petri Nets and Grafcet: Tools for Modelling Discrete Event Systems, Prentice-Hall, 1992. Peterson, Petri Net Theory and the Modeling of Systems, Prentice Hall, 1981 Glasserman and Yao, Monotone Structure in Discrete-Event Systems, Wiley, 1994 Baccelli, Cohen, Olsder, and Quadrat, Synchronization and Linearity: An Algebra for Discrete Event Systems, Wiley, 1992

Christos G. Cassandras CODES Lab. - Boston University

slide-21
SLIDE 21

Σq : Ap Gq Cp Fq ) , , ( t u z z

q q q q

γ = & Aq

AUTONOMOUS JUMP SET System must jump with

S V A G

q q q

→ × :

Cq

CONTROLLED JUMP SET System may jump with

S q q C

F 2 : →

HYBRID AUTOMATA

[Branicky et al., 1998] [Branicky et al., 1998]

H = (Q, Σ, A, G, V, C, F)

Discrete state indices, q∈Q

Christos G. Cassandras CODES Lab. - Boston University

slide-22
SLIDE 22

MIXED LOGICAL DYNAMICAL (MLD) SYSTEMS

[Bemporad and Morari, 1999] [Bemporad and Morari, 1999]

automaton / logic automaton / logic symbols δ symbols δi continuous dynamical system continuous dynamical system continuous states inputs A/D D/A inputs

x(t+1) = Ax(t) + B1u(t) + B2δ(t) + B3z(t) y(t) = Cx(t) + D1u(t) + D2δ(t) + D3z(t) E2δ(t) + E3z(t) ≤ E4x(t) + E1u(t) + E5

2 1 2 1 1 2 1 2 1

X X X X X X X X X ⇔ ⇒ ¬ ∧ ∨ 2 1

2 1 2 1 1 2 1 2 1

= − ≤ − ≤ ≥ + ≥ + δ δ δ δ δ δ δ δ δ

any logic proposition

n

B A } 1 , { ∈ ≤ δ δ

  • MLD systems are tailored to solving optimization problems involving

hybrid dynamics (mixed-integer programming)

Christos G. Cassandras CODES Lab. - Boston University

slide-23
SLIDE 23

FOR TIMING CONTROL PURPOSES

x1 x2

Physical State, z Temporal State, x

xi

xi+1 = fi(xi,ui,t)

SWITCHING TIMES HAVE THEIR OWN DYNAMICS! SWITCHING TIMES HAVE THEIR OWN DYNAMICS!

) , , ( t u z g z

i i i i =

& hybrid

Switching Times

Christos G. Cassandras CODES Lab. - Boston University

slide-24
SLIDE 24

TIMING CONTROL

CONTINUED

Time-Driven Dynamics (STATE = z):

( )

k k k k

u z g z ,

1 = +

( )

t u z g t z , , ) ( = &

  • r:

Event-Driven Dynamics (STATE = Event Times xk,i):

{ }

j k j k j k j i k

x x

i

, , , , 1

max u a + =

Γ ∈ +

Event counter k = 1,2,... Event index i∈E = {1,…,n}

Christos G. Cassandras CODES Lab. - Boston University

slide-25
SLIDE 25

TIMING CONTROL

CONTINUED

{ }

j k j k j k j i k

x x

i

, , , , 1

max u a + =

∈ + Γ

Event Set:

{ }

n E , , 1 K = Control vector kth Occurrence Time of Event i xk,1 xk,1 xk,n xk,n

EVENTS EVENTS 1 1 n n EVENT TIMES EVENT TIMES TIME TIME

+

ak,juk,j

+

ak,juk,j

max

xk+1,i

NEXT EVENT TIME OF i Christos G. Cassandras CODES Lab. - Boston University