Click here to load reader
Upload
lephuc
View
212
Download
0
Embed Size (px)
Citation preview
Introduction aux automates temporisés
Bruno DENISMaître de Conférences à ENS de Cachan
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
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.
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
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)
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
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
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
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
Introduction aux automates temporisés
Étude de cas : le passage à niveau
Description du problème
Introduction aux automates temporisés
Étude de cas : le passage à niveau
Barrière
Train
Contrôleur
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
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