13

Click here to load reader

Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

  • Upload
    lephuc

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Bruno DENISMaître de Conférences à ENS de Cachan

Page 2: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Automates temporisés

Motivation• Modélisation et analyse de systèmes réactifs à temps continu• Proposé par Alur et Dill en 1991

Qu’est-ce qu’un automate temporisé (Timed Automaton)• Automate fini avec des horloges à valeur dans +

- qui fonctionnement simultanément et- qui peuvent être réinitialisées indépendamment

• Chaque horloge mesure le temps écoulé depuis sa dernière initialisation- Mesure d’intervalles entre deux évènements

Page 3: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Présentation d’un automate temporisé• Chaque automate possède un nombre fini de places (locations).

• Le franchissement d’une transition entre deux places est instantanée.

• Dans chaque place, le temps peut s’écouler: à tout instant, la valeur d’une horloge est le temps écoulé depuis sa dernière mise à 0.

• Les transitions entre places sont conditionnées par des contraintes sur les horloges, appelées gardes

• Les transitions entre places peuvent réinitialisé des horloges de l’automate (action).

• A chaque place est associée une contrainte sur les horloges, appelée invariant.

Page 4: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Exemple d’automate temporisé• L’automate possède

- deux places s0 et s1 (s0 initiale), et- deux horloges x et y

• s0 possède un invariant y ≤ 5 tandis que s1 en possède deux, y ≤ 10 et y ≤ 8

• Deux transitions s0 → s1 et s1 → s0

• La transition s0 → s1

- est étiqueté par la lettre a,- est conditionnée par la garde y ≥ 3,- assure l’action y := 0

Page 5: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Trajectoire d’un automate

Une trajectoire est une exécution de l’automate• Le franchissement d’une transition entre deux places est instantané• L’automate peut rester dans la place courante tant que son invariant est

satisfait (une contrainte sur les horloges)• L’automate doit quitter la place courante avant que l’invariant ne soit violé• Pour franchir une transition il faut que sa garde soit vrai et que l’invariant de

la place destination soit satisfait

Exemples

(s0 , (0,0)) → (s1 ,(4,0)) → (s0 ,(0,4)) …a4

b8

(s0 , (0,0)) → (s1 ,(5,0)) → (s1 ,(8,3))a5 8

État bloqué(deadlock)

Page 6: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Définition formelle des contraintes d’horloges

• Une horloge x est une variable à valeur dans +, l’ensemble des réels positifs ou nuls

• Soit X un ensemble fini d’horloges. L’ensemble C(X) des contraintes d’horloges est défini par la grammaire

true | x < c | x ≤ c | x > c | x ≥ c | Φ1 ∧ Φ2

où x ∈ X est une horloge, c ∈ est un rationnel, et Φ1, Φ2 sont des contraintes d’horloge

Page 7: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Définition formelle

Un automate temporisé est A = (Σ, S, s0, X, I, T) avec

• Σ un ensemble fini d’étiquettes de transition• S un ensemble fini de places• s0 ∈ S une place initiale• X un ensemble fini de variable à valeur dans + (horloges)• I : S → C(X) pour définir les invariant de places• T ⊂ S x Σ x C(X) x 2X x S un ensemble de transitions• Chaque e = < s, a, Φ, λ, s’ > ∈ T correspond à une transition entre la place s

et la place s’, gardée par la contrainte Φ, étiquetée par a, et qui réinitialise les variables λ ⊂ X

Page 8: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Composition d’automates temporisés• Soient A1 = (Σ1, S1, s01, X1, I1, T1) et A2 = (Σ2, S1, s02, X2, I2, T2)

avec X1 ∩ X2 = ∅, alors A1 || A2 est l’automate temporisé

(Σ1 UΣ2, S1 x S2, (s01, s02), X1 U X2, I, T) avec

• I(s1, s2) = I(s1) ∧ I(s2) • T est défini par

1. Pour a ∈ Σ1 ∩Σ2< s1, a, Φ1, λ1, s’1 > ∈ T1 et < s2, a, Φ2, λ2, s’2 > ∈ T2 ⇒< (s1, s2), a, Φ1 ∧ Φ2, λ1 U λ2, (s’1, s’2) > ∈ T

2. Pour a ∈ Σ1 -Σ2 < s, a, Φ, λ, s’ > ∈ T1 et t ∈ T2 ⇒ < (s, t), a, Φ, λ, (s’, t) > ∈ T

3. symétriquement

Page 9: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Étude de cas : le passage à niveau

Comportement temporel d’un système où 3 entités coopèrent

Barrière

Contrôleur(garde barrière)

Train

Page 10: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Étude de cas : le passage à niveau

Description du problème

Page 11: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Étude de cas : le passage à niveau

Barrière

Train

Contrôleur

Page 12: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Étude de cas : le passage à niveau

t0 t1apprx := 0

inx ≥ 2

t2x<5

out t3x ≤ 5

exitx<5

b0 b1y < 1

baissery := 0

b3y < 2

b2leverx := 0

hautey > 1

leverc0 c1

z ≤ 1apprz := 0

c3z < 1

c2exitz := 0

lever

exit appr,exit

appr

baisserz ≥ 1

appr,exit

Train

Barrière Contrôleur

Modèle du système : Système = Train || Barrière || Contrôleur

basse

Page 13: Introduction aux automates temporisésdenis.lurpa.free.fr/m2r2.1/atelier_verif_intro_TA.pdf · Introduction aux automates temporisés Définition formelle Un automate temporisé est

Introduction aux automates temporisés

Étude de cas : le passage à niveau

b0 b1y < 1

baissery := 0

b3y < 2

b2leverx := 0

hautey > 1

leverc0 c1

z ≤ 1apprz := 0

c3z < 1

c2exitz := 0

lever

exit appr,exit

appr

baisserz ≥ 1

appr,exit

Barrière Contrôleurbasse

(b0,c0)

(b3,c1)y < 2 ∧ z ≤ 1

(b2,c2)

(b1,c3)y < 1 ∧ z < 1

(b0,c1)z ≤ 1

(b1,c2)y < 1

(b3,c0)y < 2

(b2,c3)z < 1

baisserz ≥ 1y := 0

exit

appr,exit

appr

appr

appr,exit

appr,exit

exit appr,exitappr

z := 0

basse

exitz := 0

basse

exitz := 0

leverx := 0

hautey > 1apprz := 0

hautey > 1