Les automates temporisés sont des automates munis d'un contrôle ni et un nombre
ni d'horloges. La section 3.2.1 et la section 3.2.2 présentent le formalisme qui nous sera
nécessaire pour comprendre les modèles de systèmes temporisés. La section 3.2.1 présente
l'alphabet et la notion de temps utilisé dans les automates temporisés. La section 3.2.2
présente les horloges et les opérations sur les horloges. Les horloges sont des variables
qui évoluent au cours du temps, toutes à la même vitesse, celle du temps universel qui
pourrait être représenté par une horloge qui n'est jamais remise à zéro. Cette horloge
universelle est souvent implicite.
SiZ est un ensemble, nous notonsZ
∗(respectivementZ
w) l'ensemble des suites nies
(respec- tivement innies) d'éléments de Z. Souvent, nous parlerons de mots nis sur
l'alphabetZ pour les éléments deZ
∗et de mots innis sur l'alphabetZ pour les éléments
deZ
w. Nous noterons de manière plus générale Z
∞l'union de ces deux ensembles Z
∗et
Z
w.
Nous noterons de manière générique T un domaine de temps : ce pourra donc être
Q
+, l'ensemble des nombres rationnels positifs, ou bienR
+, l'ensemble des nombres réels
positifs.
Dans tout ce qui suit, Σ représente un alphabet ni d'actions. En outre, ε désigne
une action qui n'est pas dansΣ. Cette action est dite silencieuse. L'ensembleΣ∪ {ε}est
noté Σ
ε. Une suite de dates sur le domaine T sera une suite nie ou innie, croissante
(strictement ou pas)τ = (t
i)
i≥1∈T
∞. Un mot temporisé u= (a
i, t
i)
i≥0est un élément de
(Σ×T)
∞tel que (t
i)
i≥0est une suite de dates. Nous pourrons aussi écrire u comme une
paire(σ, τ)oùσ = (a
i)
i≥1etτ = (t
i)
i≥0sont des suites de même longueur (par convention,
deux suites innies seront dites de même longueur). Un mot classique représente une mise
en séquence d'actions. Un mot temporisé modélise aussi une mise en séquence d'actions
en donnant en plus une information sur les dates auxquelles ces actions sont eectuées.
3.2.2 Horloges et opérations sur les horloges
Nous considérons un ensembleXde variables appelées horloges. Ces variables prennent
leurs valeurs dans le domaine de tempsTque nous considérons. Une valuation des horloges
deXest ainsi une applicationv :X →T. L'ensemble de toutes les valuations des horloges
deX est noté T
X. Nous écrirons aussi parfois T
nà la place deT
X(quand |X|=n).
Si d ∈ T et si v est une valuation, la notation v+d désigne la valuation dénie par
(v+d)(x) = v(x) +d pour tout x∈ X. Si v ∈ T
Xest une valuation et si C ⊆ X, nous
notons[C ←0]v la valuation obtenue à partir de v en remettant les horloges deC à zéro,
c'est-à-dire la valuation dénie par :
(
([C ←0]v)(x) = 0 si x∈C
([C ←0]v)(x) =v(x) si x6∈C
Si v est une valuation et si C ⊆ X, alors nous notons v | C la restriction de v aux
horloges deC. Etant donnés deux ensembles d'horloges disjointsX
1etX
2, ainsi que deux
valuationsv
1etv
2pour les ensembles d'horlogesX
1, respectivementX
2,v
1:v
2représente
la valuation pour les horloges de X
1∪X
2telle que
(
(v
1:v
2)(x) =v
1(x) si x∈X
1(v
1:v
2)(x) =v
2(x) si x∈X
23.2.3 Contraintes d'horloges
SiX est un ensemble d'horloges, nous dénissons l'ensemble des contraintes d'horloges
(ou tout simplement contraintes) sur X comme étant l'ensemble, noté C(X), engendré
par la grammaire suivante :
ϕ::= x∼c| x−y∼c| ϕ∧ϕ
oùx, y ∈X, c∈Qet ∼∈ {<,≤,=,≥, >}.
Nous considérons aussi un sous-ensemble propre de ces contraintes d'horloges. Cet
ensemble conserve les contraintes qui comparent une horloge et une constante, mais
n'au-torise plus de comparaisons entre horloges. Ces contraintes sont appelées non diagonales.
L'ensemble des contraintes d'horloges non diagonales est notéC
df(X) et peut être décrit
par la grammaire suivante :
ϕ ::=x∼c | ϕ∧ϕ
oùx∈X, c∈Q et ∼∈ {<,≤,=,≥, >}.
Nous disons qu'une contrainte d'horloges est k-bornée (k étant un entier) si toutes les
constantes qui apparaissent dans sa dénition sont bornées par k.
La relation de satisfaction|=pour les contraintes d'horloges est dénie sur l'ensemble
des valuations des horloges deX, inductivement, de la façon suivante (v est une valuation
deT
X) :
v |=x∼c ⇐⇒ v(x)∼c
v |=x−y∼c ⇐⇒ v(x)−v(y)∼c
v |=ϕ
1∧ϕ
2⇐⇒ v |=ϕ
1et v |=ϕ
2Une contrainte d'horloges g représente un sous-ensemble (convexe) de T
X. De façon
classique, nous noterons parfois v ∈ g (si v ∈ T
X) au lieu de v | = g. Le fait que les
sous-ensembles de T
Xdénis par une contrainte soient convexes facilite leur
manipula-tion. Cependant, dans la dénition des contraintes d'horloges, nous aurions pu ajouter
l'opérateur de comparaison 6=ainsi que la disjonction∧, mais les ensembles deT
Xdénis
n'auraient alors pas été convexes. Grâce à des transformations semblables à celles que l'on
au cas déni ici.
Nous allons maintenant présenter le modèle des automates temporisés déni par
Ra-jeev Alur et David Dill dans le début des années 1990 [2, 3, 4].
3.2.4 Dénition du modèle introduit par Alur et Dill
Un automate temporisé est un 7-uplet A= (Q, X,Σ, Q
0, F, R, T) où
Q est un ensemble ni d'états,
X est un ensemble ni d'horloges,
Σest un alphabet ni d'actions,
Q
0⊆Q, F ⊆Q, R ⊆Q sont respectivement les états initiaux, les états nals et les
états répétés,
T ⊆Q×C(X)×Σ×2
X×Q est l'ensemble des transitions.
Un chemin dans l'automate temporisé A est une suite nie ou innie de transitions
consécutives
q
0 g1,a1,C1−−−−→ q
1 g2,a2,C2−−−−→...−−−−−→
gn,an,Cnq
n...
Si u = (a
1, t
1)...(a
n, t
n)... est un mot temporisé de (Σ×T)
∞, une exécution sur le
chemin précédent pour le mot uest
(q
0, v
0)
g1,a1,C1−−−−→
t 1(q
1, v
1)
g2,a2,C2−−−−→
t 2...−−−−−→
gn,atn,Cn n(q
n, v
n)...
où (v
i)
i≥0est une suite de valuations d'horloges telle que pour tout x∈X,v
0(x) = 0
et pour tout i≥0,
(
v
i+ 1 = [C
i+1←0](v
i+t
i+1−t
i)
v
i+t
i+1−t
i|= g
i[Par convention, la date t
0correspond à la date de début d'exécution du mot
tempo-risé, nous supposons donc que t
0= 0.]
Une telle exécution est dite acceptante pour u siq
0est un état initial et
soit le chemin est ni et se termine dans un état nal,
soit le chemin est inni et passe inniment souvent par au moins un état répété.
Un mot u est accepté par l'automate A s'il existe une exécution acceptante pour u
dans A. Le langage accepté parA est l'ensemble des mots (nis ou innis) acceptés par
Remarque : La condition d'acceptation des mots innis est une condition de Büchi.
Nous aurions pu considérer d'autres types de condition d'acceptation comme celles de
Müller ou de Rabin [23, 66]. Fondamentalement, les résultats qui suivent seraient restés
les mêmes.
Exemple 1 : Considérons le langage L={((ab)
w,(t
i)
i≥1) | ∃i,∀j ≥i,(t
2j≤t
2j−1+
2)}. Il est accepté par l'automate temporisé de la gure 3.4.
q
1q
0q
3q
2 a , x : = 0 b a x < 2 , b a , x : = 0Fig. 3.4 Le langage L={((ab)
w,(t
i)
i≥1) | ∃i,∀j ≥i,(t
2j≤t
2j−1+ 2)}
Automates temporisés avec ε-transitions. De la même manière, nous dénissons
un automate temporisé avec ε-transitions sur l'alphabet Σ comme étant un automate
temporisé sur l'alphabetΣ
ε= Σ∪{ε}. Les transitions de la formeq −−−→
g,ε,Cq
′sont appelées
desε-transitions. Les mots acceptés par ces automates sont a priori des mots sur l'alphabet
(Σ
ε×T)
∞, mais commeεest une action silencieuse , nous réduirons ces mots temporisés
à des mots temporisés sur l'alphabet (Σ×T)
∞en eaçant simplement les lettres de la
forme(ε, t). Par exemple, le mot(a,0.2)(b,1.7)(ε,2)(ε,2.3)(a,2.5)(ε,2.6)se réduit au mot
(a,0.2)(b,1.7)(a,2.5). Le langage accepté par un automate temporisé avec ε-transitions
est l'ensemble des mots temporisés de(Σ×T)
∞qui sont obtenus de cette manière à partir
d'un mot de(Σ
ε×T)
∞lu dans l'automate.
3.2.5 Propriétés de clôture des automates temporisés
Les langages acceptés par les automates temporisés vérient les propriétés de clôture
suivantes :
Proposition 2 [3, 4] : L'ensemble des langages acceptés par des automates temporisés
est clos par union et par intersection. Par contre, cet ensemble n'est pas clos par passage
Exemple 3 : Le langage{(a, t
1)...(a, t
n) | ∃i < j.t
j=t
i+ 1}sur l'alphabetΣ = {a}
est accepté par l'automate temporisé de la gure 3.5.
a a a
a , { x } x = 1 , a
Fig. 3.5 Le langage {(a, t
1)...(a, t
n) | ∃i < j.t
j=t
i+ 1} sur l'alphabet Σ ={a}
Par contre, son complémentaire L n'est reconnu par aucun automate temporisé. La
preuve de ce fait n'est pas décrite dans [4], mais dans [12].
Dans le document
INJECTION DE FAUTES DANS LES SYSTEMES DISTRIBUES
(Page 41-46)