Contrôleur de feux de circulation d’un carrefour

Page 1 sur 6Lecteur de document UniversityLib

Contrôleur de feux de circulation d’un carrefour

Spécification et Vérification de Systèmes · textbook

Exemple : Contrôleur de feux

de circulation d’un carrefour

(cid:1) Problèmes: spécifier le fonctionnement d’un

contrôleur de feux tricolores d’un carrefour.

(cid:1) Les feux peuvent être :

(cid:3) Hors service (hs) : tous les feux sont au jaune

(cid:3) En service (es) : ils évoluent selon

rouge ↝↝↝↝ vert ↝↝↝↝ jaune ↝↝↝↝ rouge

(cid:3) Lorsque le feu est au rouge sur une voie, les

véhicules de cette voie ne peuvent s’engager

dans le carrefour

Leila Jemni Ben Ayed

GLII- Spécification et Vérification de Systèmes -

2014

65

Exemple : Contrôleur de feux

de circulation d’un carrefour

(cid:1) Propriétés souhaitées:

(cid:3) Condition de sécurité (safety) : les véhicules ne peuvent s

engager dans les deux voies simultanément.

(cid:3) Condition de vivacité (liveness) : les véhicules ne sont pas

bloqués infiniment sur l’une des (ou les deux) voies.

(cid:1) Ces propriétés sont décrites par :

(cid:1) Ces propriétés sont décrites par :

((feuA=rouge)(cid:217) (feuB„ rouge))(cid:218) ((feuA„ rouge)(cid:217) (feuB=rouge))

(cid:1) Définition des couleurs des feux :

(cid:3) COULEUR = {rouge , jaune , vert}

(cid:3)

feuA ˛ COULEUR ,

feuB ˛ COULEUR

(cid:1) Définition de l’état des feux :

(cid:3)

(cid:3)

(cid:3)

ETAT = {es, hs}

etat ˛ ETAT

Leila Jemni Ben Ayed

GLII- Spécification et Vérification de Systèmes -

2014

66

Exemple : Contrôleur de feux

de circulation d’un carrefour

(cid:1) Caractérisation de l’état hors service

(cid:3) Etat = hs ⇔ feuA = jaune (cid:217)

feuB = jaune

(cid:1) Caractérisation de l’état en service

(cid:3) Etat = es ⇒ feuA = rouge (cid:218)

⇒

feuB = rouge

Publicité

(cid:1) Caractérisation de la disponibilité (état en service)

(cid:1) Caractérisation de la disponibilité (état en service)

rouge (cid:218)

(cid:1) L’ évolution des feux est décrite par une fonction

(cid:3) Etat = es ⇒ feuA „

feuB „

rouge

⇒

constante: Suiv ˛ Couleur fi Couleur

(cid:1) Les opérations sur les feux de circulation sont:

(cid:3) Mise en service

(cid:3) Mise hors service

(cid:3) Changer feu

Leila Jemni Ben Ayed

GLII- Spécification et Vérification de Systèmes -

2014

67

Exemple : Contrôleur de feux

de circulation d’un carrefour

MACHINE

Carrefour

SETS

Couleur = {rouge, jaune, vert}

CONSTANT

Suiv

PROPERTIEES

˛ Couleur X Couleur (cid:217)

Suiv ˛

Suiv(rouge) = vert (cid:217)

Suiv(vert) = jaune (cid:217)

Suiv(jaune) = rouge

VARIABLES

feuA, feuB

DEFNITIONS

hs == feuA = jaune (cid:217)

service(aa, bb) = (aa = rouge (cid:217)

es == service(feuA, feuB)

feuB = jaune

(cid:217) bb „

rouge) (cid:218)

(aa „

rouge (cid:217)

(cid:217) bb = rouge)

INVARIANT

feuA, feuB ˛˛˛ ˛ Coulur X Couleur (cid:217)(cid:217)(cid:217) (cid:217) (hs (cid:218)(cid:218)(cid:218) (cid:218) es)

Leila Jemni Ben Ayed

GLII- Spécification et Vérification de Systèmes -

2014

68

Publicité

˛

˛

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

„

„

„

(cid:218)

(cid:218)

(cid:218)

„

„

„

(cid:217)

(cid:217)

Exemple : Contrôleur de feux

de circulation d’un carrefour

INITIALISATION

feuA, feuB := jaune, jaune

OPERATIONS

Mise-en-service = PRE hs

THEN

END

Mise-hors-service = PRE es

ANY fa, fb WHERE

fa, fb ˛˛˛ ˛ Couleur X Couleur (cid:217)(cid:217)(cid:217) (cid:217) Service(fa, fb)

THEN

feuA := fa

feuB := fb

feuB := fb

END

THEN

END

Publicité

feuA, feuB := jaune, jaune

Leila Jemni Ben Ayed

GLII- Spécification et Vérification de Systèmes -

2014

69

Exemple : Controleur de feux

de circulation d’un carrefour

Changer-feu =

PRE es

THEN

ANY fa, fb WHERE

((fa = feuA (cid:217)

(fa = suiv(feuA) (cid:217)

(fa = suiv(feuA) (cid:217)

service(fa, fb)

fb = suiv(feuB)) (cid:218)

fb = feuB) (cid:218)

fb = suiv(feuB))) (cid:217)

THEN

feuA, feuB := fa, fb

feuA, feuB := fa, fb

END

END

END

Leila Jemni Ben Ayed

GLII- Spécification et Vérification de Systèmes -

2014

70

(cid:217)

(cid:217)

(cid:217)

(cid:218)

(cid:218)

(cid:218)

(cid:217)

(cid:217)

(cid:217)

(cid:218)

(cid:218)

(cid:218)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)

(cid:217)