modélisation hétérogène – systèmes hybrides

72
Modélisation hétérogène – Systèmes hybrides Modélisation des systèmes 1

Upload: others

Post on 23-Jun-2022

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modélisation hétérogène – Systèmes hybrides

Modélisation hétérogène – Systèmes hybrides

Modélisation des systèmes 1

Page 2: Modélisation hétérogène – Systèmes hybrides

Modélisation hétérogène – Systèmes hybrides

Modélisation des systèmes 2

1.  Système hybride: introduction

2.  Système Temps-Réel: automate temporisé }  Modélisation }  Vérification

3.  Système Hybride: automate hybride }  Modélisation }  Vérification

Page 3: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat

Modélisation des systèmes 3

}  Variables }  Température : variable continue T à valeurs réelles }  Mode : variable discrète M à valeurs dans {ON, OFF}

}  Flux dans chacun des modes }  Mode ON : Ṫ = K×(100 – T)

invariants : (M = ON) ∧ (T < 82°) }  Mode OFF : Ṫ = – K×T

invariants : (M = OFF) ∧ (T > 68°)

}  Sauts entre les modes (instantanés) }  Si (M = ON) ∧ (T ≥ 80°) : ON OFF }  Si (M = OFF) ∧ (T ≤ 70°) : OFF ON « 

Hyb

rid

Syst

ems,

Part

I »,

Lee

& S

eshi

a, U

C B

erke

ley

Page 4: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat

Modélisation des systèmes 4

« H

ybri

d Sy

stem

s, Pa

rt I 

», L

ee &

Ses

hia,

UC

Ber

kele

y

}  Variables }  Température : variable continue T à valeurs réelles

}  Mode : variable discrète M à valeurs dans {ON, OFF}

Page 5: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat

Modélisation des systèmes 5

« H

ybri

d Sy

stem

s, Pa

rt I 

», L

ee &

Ses

hia,

UC

Ber

kele

y

}  Variables }  Température : variable continue T à valeurs réelles

}  Mode : variable discrète M à valeurs dans {ON, OFF}

OFF

ON

Page 6: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat

Modélisation des systèmes 6

« H

ybri

d Sy

stem

s, Pa

rt I 

», L

ee &

Ses

hia,

UC

Ber

kele

y

}  Variables }  Température : variable continue T à valeurs réelles

}  Mode : variable discrète M à valeurs dans {ON, OFF}

}  Flux dans chacun des modes }  Mode ON : Ṫ = K×(100 – T)

invariants : (M = ON) ∧ (T < 82°)

}  Mode OFF : Ṫ = – K×T invariants : (M = OFF) ∧ (T > 68°)

OFF

ON

Page 7: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat

Modélisation des systèmes 7

« H

ybri

d Sy

stem

s, Pa

rt I 

», L

ee &

Ses

hia,

UC

Ber

kele

y

}  Variables }  Température : variable continue T à valeurs réelles

}  Mode : variable discrète M à valeurs dans {ON, OFF}

}  Flux dans chacun des modes }  Mode ON : Ṫ = K×(100 – T)

invariants : (M = ON) ∧ (T < 82°)

}  Mode OFF : Ṫ = – K×T invariants : (M = OFF) ∧ (T > 68°)

OFF T > 68°

ON T < 82°

T

= −KT T

= K(100−T )

Page 8: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat

Modélisation des systèmes 8

« H

ybri

d Sy

stem

s, Pa

rt I 

», L

ee &

Ses

hia,

UC

Ber

kele

y

}  Variables }  Température : variable continue T à valeurs réelles

}  Mode : variable discrète M à valeurs dans {ON, OFF}

}  Flux dans chacun des modes }  Mode ON : Ṫ = K×(100 – T)

invariants : (M = ON) ∧ (T < 82°)

}  Mode OFF : Ṫ = – K×T invariants : (M = OFF) ∧ (T > 68°)

}  Sauts entre les modes (instantanés) }  Si (M = ON) ∧ (T ≥ 80°) : ON OFF

}  Si (M = OFF) ∧ (T ≤ 70°) : OFF ON

OFF T > 68°

ON T < 82°

T

= −KT T

= K(100−T )

Page 9: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat

Modélisation des systèmes 9

« H

ybri

d Sy

stem

s, Pa

rt I 

», L

ee &

Ses

hia,

UC

Ber

kele

y

}  Variables }  Température : variable continue T à valeurs réelles

}  Mode : variable discrète M à valeurs dans {ON, OFF}

}  Flux dans chacun des modes }  Mode ON : Ṫ = K×(100 – T)

invariants : (M = ON) ∧ (T < 82°)

}  Mode OFF : Ṫ = – K×T invariants : (M = OFF) ∧ (T > 68°)

}  Sauts entre les modes (instantanés) }  Si (M = ON) ∧ (T ≥ 80°) : ON OFF

}  Si (M = OFF) ∧ (T ≤ 70°) : OFF ON

OFF T > 68°

ON T < 82°

T ≥ 80° / T := T

T

= −KT T

= K(100−T )

T ≤ 70° / T := T

Page 10: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat

Modélisation des systèmes 10

« H

ybri

d Sy

stem

s, Pa

rt I 

», L

ee &

Ses

hia,

UC

Ber

kele

y

Mode

Invariant

Equation différentielle (flux)

Transition = condition de garde / reset

OFF T > 68°

ON T < 82°

T ≤ 70° / T := T

T ≥ 80° / T := T

T

= −KT T

= K(100−T )

Transition initiale

Une des exécutions possibles de l’automate

Page 11: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 11

}  Automate hybride = modèle formel pour les systèmes hybrides }  Différents modes (états), transitions déclenchées par des événements }  Comportement dans chaque mode décrit par des équations différentielles

Page 12: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 12

}  Automate hybride = modèle formel pour les systèmes hybrides }  Différents modes (états), transitions déclenchées par des événements }  Comportement dans chaque mode décrit par des équations différentielles

}  Formellement, automate hybride est H=(S, X, Σ, Init, F, T, I) avec }  S: un ensemble fini de places (locations) }  X: un ensemble fini de variables à valeur dans R (l’ensemble de réels) }  Σ: un alphabet fini

Page 13: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 13

}  Automate hybride = modèle formel pour les systèmes hybrides }  Différents modes (états), transitions déclenchées par des événements }  Comportement dans chaque mode décrit par des équations différentielles

}  Formellement, automate hybride est H=(S, X, Σ, Init, F, T, I) avec }  S: un ensemble fini de places (locations) }  X: un ensemble fini de variables à valeur dans R (l’ensemble de réels) }  Σ: un alphabet fini }  Init: initial condition, Init⊂Q×Rn, n est le nombre de X

}  F: une fonction qui associe à chaque s∈S un ensemble d’activités, et chaque activité donne une évolution possible des variables dans s

}  T: un ensemble de transition d’actions, T ⊂ S × Σ × C(X) × Rn × S. Chaque e =< s, a, ϕ, v, s’>∈ T correspond à une transition entre la place s et la place s’, gardée par la contrainte ϕ, étiquetée par la lettre a, et qui remet la valuation v à des variables X. }  I: S → C(X) des invariants de places

Page 14: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 14

OFF t > 68°

ON t < 82°

b t ≥ 80° / t := t

t•

= −Kt t•

= K(100− t)

a

t ≤ 70° / t := t t :=69

H=(S, X, Σ, Init, F, T, I)

Page 15: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 15

}  S= {OFF, ON}

OFF t > 68°

ON t < 82°

b t ≥ 80° / t := t

t•

= −Kt t•

= K(100− t)

a

t ≤ 70° / t := t t :=69

H=(S, X, Σ, Init, F, T, I)

Page 16: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 16

}  S= {OFF, ON}

}  X={t}

OFF t > 68°

ON t < 82°

b t ≥ 80° / t := t

t•

= −Kt t•

= K(100− t)

a

t ≤ 70° / t := t t :=69

H=(S, X, Σ, Init, F, T, I)

Page 17: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 17

}  S= {OFF, ON}

}  X={t}

}  Σ={a, b}

OFF t > 68°

ON t < 82°

b t ≥ 80° / t := t

t•

= −Kt t•

= K(100− t)

a

t ≤ 70° / t := t t :=69

H=(S, X, Σ, Init, F, T, I)

Page 18: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 18

}  S= {OFF, ON}

}  X={t}

}  Σ={a, b}

}  Init={(OFF, 69)}

OFF t > 68°

ON t < 82°

b t ≥ 80° / t := t

t•

= −Kt t•

= K(100− t)

a

t ≤ 70° / t := t t :=69

H=(S, X, Σ, Init, F, T, I)

Page 19: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 19

}  S= {OFF, ON}

}  X={t}

}  Σ={a, b}

}  Init={(OFF, 69)}

}  F(OFF)= { }; F(ON)={ }

OFF t > 68°

ON t < 82°

b t ≥ 80° / t := t

t•

= −Kt t•

= K(100− t)

a

t ≤ 70° / t := t t :=69

t•

= −Kt t•

= K(100− t)

H=(S, X, Σ, Init, F, T, I)

Page 20: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 20

}  S= {OFF, ON}

}  X={t}

}  Σ={a, b}

}  Init={(OFF, 69)}

}  F(OFF)= { }; F(ON)={ }

}  T={(OFF, a, t<=70, t:=t, ON), (ON, b, t>=80, t:=t, OFF)}

OFF t > 68°

ON t < 82°

b t ≥ 80° / t := t

t•

= −Kt t•

= K(100− t)

a

t ≤ 70° / t := t t :=69

t•

= −Kt t•

= K(100− t)

H=(S, X, Σ, Init, F, T, I)

Page 21: Modélisation hétérogène – Systèmes hybrides

Définition

Modélisation des systèmes 21

}  S= {OFF, ON}

}  X={t}

}  Σ={a, b}

}  Init={(OFF, 69)}

}  F(OFF)= { }; F(ON)={ }

}  T={(OFF, a, t<=70, t:=t, ON), (ON, b, t>=80, t:=t, OFF)}

}  I(OFF)={t>68°}, I(ON)=(t<82°)

OFF t > 68°

ON t < 82°

b t ≥ 80° / t := t

t•

= −Kt t•

= K(100− t)

a

t ≤ 70° / t := t t :=69

t•

= −Kt t•

= K(100− t)

H=(S, X, Σ, Init, F, T, I)

Page 22: Modélisation hétérogène – Systèmes hybrides

Exemple : Balle rebondissante

Modélisation des systèmes 22

}  Comment passer à la modélisation ? }  Variables continues ? }  Modes ? }  Transitions ?

}  Position, vitesse }  En vol }  Rebond

Position verticale x

Equations ?

Page 23: Modélisation hétérogène – Systèmes hybrides

Exemple : Balle rebondissante

Modélisation des systèmes 23

}  Comment passer à la modélisation ? }  Variables continues ? }  Modes ? }  Transitions ?

}  Position, vitesse }  En vol }  Rebond

Position verticale x

x•

= v

v•

= −g

Automate hybride ?

Page 24: Modélisation hétérogène – Systèmes hybrides

Exemple : Balle rebondissante

Modélisation des systèmes 24

x = 0 & v ≤ 0 / v := –Cv

x•

= v

v•

= −g

EnVol x ≥ 0

x := x0 v := v0

Position verticale x

x•

= v

v•

= −g

Exécution(s) possible(s) : x(t), v(t) ?

x, v

t

Page 25: Modélisation hétérogène – Systèmes hybrides

Exemple : Balle rebondissante, simulation

Modélisation des systèmes 25

Page 26: Modélisation hétérogène – Systèmes hybrides

Modèle modal

Modélisation des systèmes 26

Modèle modal discret

Modèle continu du mode 1

Modèle continu du mode 2

Page 27: Modélisation hétérogène – Systèmes hybrides

Exercice : Modéliser des équations différentielles

Modélisation des systèmes 27

}  Objectif = modéliser les équations différentielles de la balle rebondissante en utilisant des schémas-bloc

}  Eléments de modélisation à disposition : }  Constante : émet un signal constant continu

}  Intégrateur : produit en sortie l’intégration du signal d’entrée ‣  Prend en paramètre la valeur initiale du signal de sortie

(s0)

}  Relation : égalité entre deux signaux

s

(t) s(t)

s(t) u(t) = s(t)

c(t)

x•

= v

v•

= −g

Page 28: Modélisation hétérogène – Systèmes hybrides

Exercice : Equations différentielles

Modélisation des systèmes 28

v0 = 12.0 x0 = 10.0

Page 29: Modélisation hétérogène – Systèmes hybrides

Exemple : Balle rebondissante, correction

Modélisation des systèmes 29

Modèle continu du mode « free »

Modèle modal (discret)

Page 30: Modélisation hétérogène – Systèmes hybrides

Exemple : Balle rebondissante

Modélisation des systèmes 30

Modèle continu du mode « free »

Modèle modal discret

Page 31: Modélisation hétérogène – Systèmes hybrides

Exemple : Balle rebondissante, simulation

Modélisation des systèmes 31

?

Page 32: Modélisation hétérogène – Systèmes hybrides

Exemple : Balle rebondissante, simulation

Modélisation des systèmes 32

???

Page 33: Modélisation hétérogène – Systèmes hybrides

Comportement « Zénon »

Modélisation des systèmes 33

}  Comportement Zénon = comportement dans lequel un nombre infini d’actions discrètes est effectué en un temps fini

}  Comportement Zénon = artefact de modélisation }  Manifestation d’un manque de réalisme du modèle }  Apparition d’erreurs numériques dans la simulation

« H

ybri

d Sy

stem

s, Pa

rt I 

», L

ee &

Ses

hia,

UC

Ber

kele

y

Page 34: Modélisation hétérogène – Systèmes hybrides

Exemple : Balle rebondissante, correction

Modélisation des systèmes 34

Correction de l’effet Zénon

Modèle continu du mode « free »

Modèle modal (discret)

Page 35: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat, automate hybride

Modélisation des systèmes 35

« H

ybri

d Sy

stem

s, Pa

rt I 

», L

ee &

Ses

hia,

UC

Ber

kele

y

off T > 68°

on T < 82°

T ≤ 70° / T := T

T ≥ 80° / T := T

T

= −KT T

= K(100−T )

Une des exécutions possibles de l’automate

Page 36: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat, modèle modal

Modélisation des systèmes 36

Modèle continu du mode « heating » & du mode « cooling »

Modèle modal (discret)

dTdt

= HeatSource− 0.4×T

Page 37: Modélisation hétérogène – Systèmes hybrides

Exemple : Thermostat, simulation

Modélisation des systèmes 37

Page 38: Modélisation hétérogène – Systèmes hybrides

Composition parallel

Modélisation des systèmes 38

Deux automates hybrides H1=(S1, X1, Σ1, Init1, F1, T1, I1) et H2=(S2, X2, Σ2, Init2, F2, T2, I2) Composition: •  si a∈Σ1 et a∈Σ2, alors les transitions étiquetées par a dans H1 et H2 doivent être synchronisées •  si a ∈Σ1 et non a∈Σ2, alors la transition étiquetée par a dans H1 doit être synchronisée avec la transition du temps avec durée 0 dans H2 •  si non a∈Σ1 et a∈Σ2, alors la transition étiquetée par a dans H2 doit être synchronisée avec la transition du temps avec durée 0 dans H1 •  pour τ ∈ R≥0, la transition du temps avec la durée τ dans H1 doit être synchronisée avec la transition du temps avec la durée τ dans H2

Page 39: Modélisation hétérogène – Systèmes hybrides

Exemple (Train, Barrière, Contrôleur)

Modélisation des systèmes 39

Far

Near

Past

Train Ø  Trois modes: Far, Near, Past (x: distance)

Ø  Far: invariant (x>=1000) act ( ) Ø  Near: invariant (x>=0) act ( ) Ø  Past: invariant (x>= -100) act ( )

−50 ≤ x•

≤ −40

−50 ≤ x•

≤ −30

−50 ≤ x•

≤ −30

Page 40: Modélisation hétérogène – Systèmes hybrides

Exemple (Train, Barrière, Contrôleur)

Modélisation des systèmes 40

Far x > =1000

−50 ≤ x•

≤ −40

Near x > =0

−50 ≤ x•

≤ −30

Past x > = -100

−50 ≤ x•

≤ −30

Train Ø  Trois modes: Far, Near, Past (x: distance)

Ø  Far: invariant (x>=1000) act ( ) Ø  Near: invariant (x>=0) act ( ) Ø  Past: invariant (x>= -100) act ( )

−50 ≤ x•

≤ −40

−50 ≤ x•

≤ −30

−50 ≤ x•

≤ −30

Page 41: Modélisation hétérogène – Systèmes hybrides

Exemple (Train, Barrière, Contrôleur)

Modélisation des systèmes 41

Far x > =1000

−50 ≤ x•

≤ −40

Near x > =0

−50 ≤ x•

≤ −30

Past x > = -100

−50 ≤ x•

≤ −30

x=1000; approche

x=0 x= - 100; exit x:=5900;

Train Ø  Trois modes: Far, Near, Past (x: distance)

Ø  Far: invariant (x>=1000) act ( ) Ø  Near: invariant (x>=0) act ( ) Ø  Past: invariant (x>= -100) act ( )

Ø  Transitions d’action Ø  Far à Near: garde (x=1000) approache Ø  Near à Past: garde (x=0) Ø  Past àFar: garde (x=-100) exit reset (x:=5900)

−50 ≤ x•

≤ −40

−50 ≤ x•

≤ −30

−50 ≤ x•

≤ −30

Page 42: Modélisation hétérogène – Systèmes hybrides

Exemple (Train, Barrière, Contrôleur)

Modélisation des systèmes 42

MoveUp

Open

Closed

MoveDown

Barrière Ø  Quatre modes: Open, MoveDown, Closed, MoveUp (y: position)

Ø  Open: invariant (y=90) act ( ) Ø  MoveDown: invariant (y>=0) act ( ) Ø  Closed: invariant (y=0) act ( ) Ø  MoveUp: invariant (y<=90) act ( )

y•

= 0

y•

= −9

y•

= 0

y•

= 9

Page 43: Modélisation hétérogène – Systèmes hybrides

Exemple (Train, Barrière, Contrôleur)

Modélisation des systèmes 43

MoveUp y < =90

y•

= 9

Open y = 90

y•

= 0

Closed y = 0

y•

= 0

MoveDown y > = 0

y•

= −9

Barrière Ø  Quatre modes: Open, MoveDown, Closed, MoveUp (y: position)

Ø  Open: invariant (y=90) act ( ) Ø  MoveDown: invariant (y>=0) act ( ) Ø  Closed: invariant (y=0) act ( ) Ø  MoveUp: invariant (y<=90) act ( )

y•

= 0

y•

= −9

y•

= 0

y•

= 9

Page 44: Modélisation hétérogène – Systèmes hybrides

Exemple (Train, Barrière, Contrôleur)

Modélisation des systèmes 44

MoveUp y < =90

y•

= 9

Open y = 90

y•

= 0

Closed y = 0

y•

= 0

y=90

Barrière Ø  Quatre modes: Open, MoveDown, Closed, MoveUp (y: position)

Ø  Open: invariant (y=90) act ( ) Ø  MoveDown: invariant (y>=0) act ( ) Ø  Closed: invariant (y=0) act ( ) Ø  MoveUp: invariant (y<=90) act ( )

Ø  Transitions d’action Ø  OpenàMoveDown: lower Ø  MoveDownàClosed: garde (y=0) Ø  ClosedàMoveUp: raise Ø  MoveUpàOpen: garde (y=90)

MoveDown y > = 0

y•

= −9

lower raise

y=0

y•

= 0

y•

= −9

y•

= 0

y•

= 9

Page 45: Modélisation hétérogène – Systèmes hybrides

Exemple (Train, Barrière, Contrôleur)

Modélisation des systèmes 45

Idle

C2

C1

approach

Contrôleur Ø  Trois modes: Idle, C1, C2

Ø  Idle: invariant ( ) act ( ) Ø  C1: invariant ( ) act ( ) Ø  C2 : invariant ( ) act ( )

Ø  Transitions d’action Ø  IdleàC1: approach Ø  C1àIdle: lower Ø  IdleàC2: exit

Ø  C2àIdle: raise

lower exit

raise

Page 46: Modélisation hétérogène – Systèmes hybrides

Exemple (Train, Barrière, Contrôleur)

Modélisation des systèmes 46

Idle

z•

=1∧u•

= 0

C2

C1

approach

Contrôleur Ø  Trois modes: Idle, C1, C2

Ø  Idle: invariant ( ) act ( ) Ø  C1: invariant ( ) act ( ) Ø  C2 : invariant ( ) act ( )

Ø  Transitions d’action Ø  IdleàC1: approach Ø  C1àIdle: lower Ø  IdleàC2: exit Ø  C2àIdle: raise

z•

=1∧u•

= 0 z•

=1∧u•

= 0

lower exit

raise

z•

=1∧u•

= 0

z•

=1∧u•

= 0

z•

=1∧u•

= 0

Page 47: Modélisation hétérogène – Systèmes hybrides

Exemple (Train, Barrière, Contrôleur)

Modélisation des systèmes 47

Contrôleur Ø  Trois modes: Idle, C1, C2

Ø  Idle: invariant ( ) act ( ) Ø  C1: invariant (z<=u) act ( ) Ø  C2 : invariant (z<=u) act ( )

Ø  Transitions d’action Ø  IdleàC1: approach reset (z:=0) Ø  C1àIdle: lower Ø  IdleàC2: exit reset (z:=0) Ø  C2àIdle: raise

Idle

z•

=1∧u•

= 0

C2 z <= u

C1 z <= u

approach; z:=0

z•

=1∧u•

= 0 z•

=1∧u•

= 0

lower exit; z:=0

raise

z•

=1∧u•

= 0

z•

=1∧u•

= 0

z•

=1∧u•

= 0

Page 48: Modélisation hétérogène – Systèmes hybrides

Far x > =1000

−50 ≤ x•

≤ −40

Near x > =0

−50 ≤ x•

≤ −30

Past x > = -100

−50 ≤ x•

≤ −30

x=1000; approche

x=0 x= - 100; exit x:=5900;

MoveUp y < =90

y•

= 9

Open y = 90

y•

= 0

Closed y = 0

y•

= 0

y=90

MoveDown y > = 0

y•

= −9

lower raise

y=0

Idle

z•

=1∧u•

= 0

C2 z <= u

C1 z <= u

approach; z:=0

z•

=1∧u•

= 0 z•

=1∧u•

= 0

lower exit; z:=0

raise Composition ?

Page 49: Modélisation hétérogène – Systèmes hybrides

Far x > =1000

−50 ≤ x•

≤ −40

Near x > =0

−50 ≤ x•

≤ −30

Past x > = -100

−50 ≤ x•

≤ −30

x=1000; approche

x=0 x= - 100; exit x:=5900;

MoveUp y < =90

y•

= 9

Open y = 90

y•

= 0

Closed y = 0

y•

= 0

y=90

MoveDown y > = 0

y•

= −9

lower raise

y=0

Idle

z•

=1∧u•

= 0

C2 z <= u

C1 z <= u

approach; z:=0

z•

=1∧u•

= 0 z•

=1∧u•

= 0

lower exit; z:=0

raise Composition ? Condition initiale: u:=6, x:=1500, z:=0, y:=90

Far/Open/Idle x>=1000&y=90

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

u:=6, x:=1500, z:=0 y:=90

Page 50: Modélisation hétérogène – Systèmes hybrides

Composition

Modélisation des systèmes 50

Far/Open/Idle x>=1000&y=90

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Near/Open/C1 x>=0&y=90&z<=u

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

x=1000 approach z:=0

u:=6, x:=1500, z:=0 y:=90

Page 51: Modélisation hétérogène – Systèmes hybrides

Composition

Modélisation des systèmes 51

Far/Open/Idle x>=1000&y=90

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Near/Open/C1 x>=0&y=90&z<=u

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Near/MoveDown/Idle x>=0&y>=0

−50 ≤ x•

≤ −30

y•

= −9

z•

=1∧u•

= 0

lower x=1000 approach z:=0

u:=6, x:=1500, z:=0 y:=90

Page 52: Modélisation hétérogène – Systèmes hybrides

Composition

Modélisation des systèmes 52

Far/Open/Idle x>=1000&y=90

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Near/Open/C1 x>=0&y=90&z<=u

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Near/MoveDown/Idle x>=0&y>=0

−50 ≤ x•

≤ −30

y•

= −9

z•

=1∧u•

= 0

Near/Closed/Idle x>=0&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

lower

y=0

x=1000 approach z:=0

u:=6, x:=1500, z:=0 y:=90

Page 53: Modélisation hétérogène – Systèmes hybrides

Composition

Modélisation des systèmes 53

Far/Open/Idle x>=1000&y=90

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Near/Open/C1 x>=0&y=90&z<=u

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Near/MoveDown/Idle x>=0&y>=0

−50 ≤ x•

≤ −30

y•

= −9

z•

=1∧u•

= 0

Near/Closed/Idle x>=0&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Past/Closed/Idle x>= -100&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

lower

y=0

x=0

x=1000 approach z:=0

u:=6, x:=1500, z:=0 y:=90

Page 54: Modélisation hétérogène – Systèmes hybrides

Composition

Modélisation des systèmes 54

Far/Open/Idle x>=1000&y=90

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Near/Open/C1 x>=0&y=90&z<=u

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Near/MoveDown/Idle x>=0&y>=0

−50 ≤ x•

≤ −30

y•

= −9

z•

=1∧u•

= 0

Near/Closed/Idle x>=0&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Past/Closed/Idle x>= -100&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Far/Closed/C2 x>=1000&y=0&z<=u

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

lower

y=0

x=0 x=-100; exit x:=5900 z:=0

x=1000 approach z:=0

u:=6, x:=1500, z:=0 y:=90

Page 55: Modélisation hétérogène – Systèmes hybrides

Composition

Modélisation des systèmes 55

Far/Open/Idle x>=1000&y=90

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Near/Open/C1 x>=0&y=90&z<=u

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Near/MoveDown/Idle x>=0&y>=0

−50 ≤ x•

≤ −30

y•

= −9

z•

=1∧u•

= 0

Near/Closed/Idle x>=0&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Past/Closed/Idle x>= -100&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Far/Closed/C2 x>=1000&y=0&z<=u

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Far/Moveup/Idle x>=1000&y<=90

−50 ≤ x•

≤ −40

y•

= 9

z•

=1∧u•

= 0

lower

y=0

x=0 x=-100; exit x:=5900 z:=0

raise

x=1000 approach z:=0

u:=6, x:=1500, z:=0 y:=90

Page 56: Modélisation hétérogène – Systèmes hybrides

Composition

Modélisation des systèmes 56

Far/Open/Idle x>=1000&y=90

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Near/Open/C1 x>=0&y=90&z<=u

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Near/MoveDown/Idle x>=0&y>=0

−50 ≤ x•

≤ −30

y•

= −9

z•

=1∧u•

= 0

Near/Closed/Idle x>=0&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Past/Closed/Idle x>= -100&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Far/Closed/C2 x>=1000&y=0&z<=u

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Far/Moveup/Idle x>=1000&y<=90

−50 ≤ x•

≤ −40

y•

= 9

z•

=1∧u•

= 0

lower

y=0

x=0 x=-100; exit x:=5900 z:=0

raise

y=90

x=1000 approach z:=0

u:=6, x:=1500, z:=0 y:=90

Page 57: Modélisation hétérogène – Systèmes hybrides

Composition

Modélisation des systèmes 57

Far/Open/Idle x>=1000&y=90

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Near/Open/C1 x>=0&y=90&z<=u

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Near/MoveDown/Idle x>=0&y>=0

−50 ≤ x•

≤ −30

y•

= −9

z•

=1∧u•

= 0

Near/Closed/Idle x>=0&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Past/Closed/Idle x>= -100&y=0

−50 ≤ x•

≤ −30

y•

= 0

z•

=1∧u•

= 0

Far/Closed/C2 x>=1000&y=0&z<=u

−50 ≤ x•

≤ −40

y•

= 0

z•

=1∧u•

= 0

Far/Moveup/Idle x>=1000&y<=90

−50 ≤ x•

≤ −40

y•

= 9

z•

=1∧u•

= 0

lower

y=0

x=0 x=-100; exit x:=5900 z:=0

raise

y=90

x=1000 approach z:=0

Calculer u pour que y=0 soit arrivé avant x=0

u:=6, x:=1500, z:=0 y:=90

Page 58: Modélisation hétérogène – Systèmes hybrides

Modélisation hétérogène – Systèmes hybrides

Modélisation des systèmes 58

1.  Système hybride: introduction

2.  Système Temps-Réel: automate temporisé }  Modélisation }  Vérification

3.  Système Hybride: automate hybride }  Modélisation }  Vérification

Page 59: Modélisation hétérogène – Systèmes hybrides

Atteignabilité

Modélisation des systèmes 59

}  Deux problèmes }  Problème de l’atteignabilité

}  Données:

(a) H un système hybride

(b) S’ un ensemble d’états. }  Réponse: oui s’il existe une trajectoire qui atteint S’, non sinon.

}  Calcul des états atteignables }  Données (a) H un système hybride }  Réponse: l’ensemble des états atteints par les trajectoires de H.

Page 60: Modélisation hétérogène – Systèmes hybrides

Résultats

Modélisation des systèmes 60

}  Théorème: Le problème de l’atteignabilité est indécidable pour les systèmes hybrides.

}  Conséquences: puisque le problème est indécidable on s’intéressera à des

semi-algorithmes de vérification, c’est-à-dire à des méthodes de vérification qui peuvent ne pas terminer dans certains cas.

}  Méthodes: 1.  Analyse en avant 2.  Analyse en arrière 3.  Abstraction àCounter-Example Guided Abstraction Refinement (CEGAR)

Page 61: Modélisation hétérogène – Systèmes hybrides

CEGAR

Modélisation des systèmes 61

Page 62: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 62

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

Page 63: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 63

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

ON: t entre 60 et 82 OFF: t entre 68 et 80

Page 64: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 64

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

ON: t entre 60 et 82 OFF: t entre 68 et 80 Abstraction: automate hybride automate temporisé

OFF

c < 0.18

ON

c < 1.2

b c ≥ 0.55/ c:=0

c:=0 a

c ≥ 0.15/ c:=0

Page 65: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 65

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

OFF

c < 0.18

ON

c < 1.2

b c ≥ 0.55/ c:=0

c:=0 a

c ≥ 0.15/ c:=0

Propriété: après 2 unités de temps, la durée maximum dans l’état ON est 0.66.

Page 66: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 66

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

Propriété: après 2 unités de temps, la durée maximum dans l’état ON est 0.66. Contre-exemple ?

OFF

c < 0.18

ON

c < 1.2

b c ≥ 0.55/ c:=0

c:=0 a

c ≥ 0.15/ c:=0

Page 67: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 67

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

Propriété: après 2 unités de temps, la durée maximum dans l’état ON est 0.66. Contre-exemple: (on, 0) −→1 (on, 1) −→b (off, 0) −→0.15 (off, 0.15) −→a (on, 0) −→1 (on, 1) −→b (off, 0) −→0.15 (off, 0.15) −→a (on, 0) −→1 (on, 1)

OFF

c < 0.18

ON

c < 1.2

b c ≥ 0.55/ c:=0

c:=0 a

c ≥ 0.15/ c:=0

Page 68: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 68

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

Propriété: après 2 unités de temps, la durée maximum dans l’état ON est 0.66. Ce contre-exemple ne peut pas être validé dans automate hybride, pourquoi?

OFF

c < 0.18

ON

c < 1.2

b c ≥ 0.55/ c:=0

c:=0 a

c ≥ 0.15/ c:=0

Page 69: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 69

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

Propriété: après 2 unités de temps, la durée maximum dans l’état ON est 0.66. Ce contre-exemple ne peut pas être validé dans automate hybride, car après une transition discrète, pour l’état ON, on a t entre 70 et 82 au lieu de entre 60 et 82

OFF

c < 0.18

ON

c < 1.2

b c ≥ 0.55/ c:=0

c:=0 a

c ≥ 0.15/ c:=0

Page 70: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 70

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

Propriété: après 2 unités de temps, la durée maximum dans l’état ON est 0.66. Ce contre-exemple guide le raffinement: diviser ON en deux états

OFF

c < 0.18

ON

c < 1.2

b c ≥ 0.55/ c:=0

c:=0 a

c ≥ 0.15/ c:=0

Page 71: Modélisation hétérogène – Systèmes hybrides

CEGAR : Exemple

Modélisation des systèmes 71

OFF t > 68°

ON t < 82°

b t ≥ 80°

t•

= −t t•

=100− t

t:=[60,90] a

t ≤ 70°

Propriété: après 2 unités de temps, la durée maximum dans l’état ON est 0.66. Ce contre-exemple guide raffinement: diviser ON en deux états

OFF

c < 0.18

ON

c < 0.66

b c ≥ 0.55/ c:=0

c:=[60,90] a

c ≥ 0.15/ c:=0

ON

c < 1.2

b c ≥ 0.4/ c:=0

Page 72: Modélisation hétérogène – Systèmes hybrides

Automate Hybrid (retenir)

Modélisation des systèmes 72

Ø  Modelisation

Ø  Interprétation de AH: système de transition (infini)

Ø  Modéliser avec la description du système (Zeno)

Ø  Composition

Ø  Vérification

Ø  Atteignabilité: problème indécidable

Ø  CEGAR