• Aucun résultat trouvé

Automates temporisés

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≥0

est un élément de

(Σ×T)

tel que (t

i

)

i≥0

est une suite de dates. Nous pourrons aussi écrire u comme une

paire(σ, τ)oùσ = (a

i

)

i≥1

etτ = (t

i

)

i≥0

sont 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

X

est 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

1

etX

2

, ainsi que deux

valuationsv

1

etv

2

pour les ensembles d'horlogesX

1

, respectivementX

2

,v

1

:v

2

représente

la valuation pour les horloges de X

1

∪X

2

telle que

(

(v

1

:v

2

)(x) =v

1

(x) si x∈X

1

(v

1

:v

2

)(x) =v

2

(x) si x∈X

2

3.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 |=ϕ

1

et v |=ϕ

2

Une 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

X

dé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

X

dé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,Cn

q

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≥0

est 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

0

correspond à 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

0

est 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

1

q

0

q

3

q

2 a , x : = 0 b a x < 2 , b a , x : = 0

Fig. 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,ε,C

q

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].