• Nenhum resultado encontrado

4.2 Les Automates Temporisés : présentation et ana- lyselyse

4.2.5 Analyse Symbolique - Recherche d’accessibilité

Dans la mesure où le temps est continu, il est impossible d’énumérer tous les états d’un automate temporisé. En d’autres termes, l’espace d’état d’un automate temporisé est infini et non dénombrable. Pour pouvoir vérifier un modèle automate temporisé, il est nécessaire de disposer d’une représentation symbolique permettant de manipuler cet espace d’état.

Alur et Dill proposent dans (Alur et Dill, 1994) une abstraction de l’espace d’état basée sur la notion de région. Cette notion représente la base formelle qu’a permis de prouver la décidabilité des problèmes du vide et d’atteignabilité. Le principe de cette construction consiste à abstraire les comportements des automates temporisés en un ensemble de classes d’équivalence, appelés régions. En effet, l’ensemble infini des états est partitionné en des régions. Chaque région est constituée d’un ensemble d’états liés par une relation d’équivalence comportementale appelée relation de bisimulation. Cette relation est définie de la manière suivante. Deux états (l, v) et (l0, v0) sont équivalents, si (1) l = l0 et (2) v ∼=K v0, où K désigne la constante maximale qui apparaît dans l’automate. Deux valuationsvetv0sont équivalentes, qu’on notev ∼=K v0, si les conditions suivantes sont vérifées :

1. pour toute horloge x∈X,v(x)> K ⇔v0(x)> K;

2. pour toute horloge x ∈ X, si v(x) ≤ K alors bv(x)c = bv0(x)c et ({v(x)} = 0 ⇔ {v0(x)}= 0) ;

3. pour toutes les paires d’horloges (x, y), si v(x)≤ K et v(y)≤K, alors ({v(x)} ≤ {v(y)} ⇔ {v0(x)} ≤ {v0(y)}) ;

où {α} désigne la partie fractionnaire d’un réel α etbαc désigne sa partie entière.

D’une manière intuitive, les deux premières conditions impliquent que deux valua- tions équivalentes satisfont exactement les mêmes contraintes de l’automate. La troisième condition exprime qu’à partir de deux configurations équivalentes, l’écoulement du temps permettra aux horloges d’atteindre de nouvelles valeurs entières dans le même ordre.

Exemple 4.2.3

Dans l’exemple suivant, nous illustrons un exemple de partition en régions d’un espace d’état.

y

0 1 2 x

1

- 6

région

(1< x < 2)∧(0< y <1)∧(0< x−y <1)

?

9 régions ponctuelles 22 régions linéaires 13 régions surfaciques

Fig.4.2 – Un exemple d’une région définie par deux horloges x et y

Il est clair à travers cet exemple que la notion de région est trop fine pour être utilisée par des algorithmes d’analyse d’automates temporisés. Une autre abstraction plus efficace de l’espace d’état a été proposée dans la littérature (Alur, 1999). Cette représentation symbolique se base sur la notion de zones. Une zone est un ensemble de valuations défini par une contrainte de l’ensembleC(X).

Durant l’analyse en avant d’un automate temporisé, les objets qui seront manipulés seront des paires (q,z), appelées états symboliques, où q est un sommet de l’automate et z une zone. Un état symbolique peut être considéré comme une union de régions.

Dans la figure 4.3, nous illustrons l’exemple d’une zone définie par deux horloges x et y. Cette zone peut être décrite par la contrainte h(y ≤ 4)∧(x ≤ 5)∧(1 ≤ x−y ≤ 4)i. Nous notons que cette zone peut être représentée par des formules de contraintes différentes. Cependant, il existe une représentation unique pour chaque zone d’horloges (convexe ou non-convexe), appelée représentation canonique (Bengtsson et Yi., 2004).

Fig. 4.3 – Un exemple d’une zone d’horloges

Nous présentons dans la dernière section de ce chapitre un aperçu sur l’implémentation des zones et les algorithmes permettant leur manipulation.

Plusieurs opérations élémentaires ont été définies sur les zones d’horloges (Bengtsson et Yi., 2004). Nous présentons dans la suite quelques unes utilisées dans notre travail.

• la remise à zéro d’un ensemble d’horlogesY dansz, définie parz[Y ←0] ={v[Y ← 0] | v ∈ z}. Dans l’exemple de la figure 4.4, la remise à zéro de l’horloge y dans la zone d’horloges définie par la contrainte h(2 ≤ y ≤ 4)∧(1 ≤ x ≤ 6)∧(−1 ≤ x−y≤2)idéfinit la zone décrite par h(y= 0)∧(1≤x≤6)i;

Fig. 4.4 – La remise à zéro d’une zone

• le calcul du futur d’une zone z, défini par z ↑= {v+d | v ∈ z et d ∈ R+}. Cette opération permet d’obtenir les successeurs de temps d’un ensemble d’états défini par un état symbolique. Dans l’exemple présenté dans la figure 4.5, le futur de la zone définie par la contrainte h(0 ≤ y ≤ 2)∧(1 ≤ x ≤ 5)i correspond à la zone définie par h(x≥1)∧(−1≤x−y≤5)i;

• l’intersection de deux zones z et z0, définie par z ∧z0 = {v | v ∈ z et v ∈ z0}.

Dans l’exemple de la figure 4.6, l’intersection de la zone définie parh(y≤4)∧(1≤ x−y ≤ 4)i et la zone h(4 ≤x ≤7)∧(2 ≤y ≤5)i est égale à la zone définie par h(2≤y ≤4)∧(4≤x≤6)∧(x−y≤4)i.

Fig.4.5 – Le futur d’une zone

Fig. 4.6 – Une intersection de deux zones

Soient q −−−→σ,g,Y q0 ∈ E une transition d’un automate temporisé et (q, z) un état symbo- lique. L’état symbolique (q, z) peut évoluer selon deux manières :

• les transitions de temps : définies par l’opérateur P ostt((q, z)) = (q, z0) où z0 = {v0 | ∃d∈R+, v0 =v+d, v0 ∈I(q), v ∈z}=z ↑ ∧I(q).

• les transitions d’actions : définies par l’opérateur P ostd((q, z),−−−→) = (qσ,g,Y 0, z0), où z0 ={v0 | (q, v)−→σ (q0, v0), v ∈z}= ((z∧g)[Y ←0])∧I(q0).

On définit le successeur d’un état symbolique (q, z) sur une transitionq −−−→σ,g,Y q0 ∈E par :

P ost((q, z),−−−→) =σ,g,Y P ostt◦P ostd((q, z),−−−→)σ,g,Y

Généralement, l’étude d’un système modélisé par un automate temporisé est basée sur l’analyse de l’atteignabilité des états de l’automate. Pour savoir si un ensemble d’états d’arrivée, défini par un état symbolique(q0, z0)est atteignable depuis un ensemble d’état de départ (q, z), nous pouvons appliquer une analyse d’atteignabilité à partir de l’en- semble des états de départ. Cette analyse permet de calculer tous les états qui peuvent être accessibles depuis les états définis par le couple(q, z). Si l’espace calculé contient des états qui appartiennent également à l’ensemble d’états d’arrivée (q0, z0), alors on peut dire que l’ensemble d’arrivée est atteignable depuis l’ensemble de départ. L’opérateur P ost, défini ci-dessus, permet d’établir l’analyse d’atteignabilité en avant. En effet, il

suffit d’appliquer itérativement cet opérateur, depuis l’état symbolique de départ, en considérant les différentes transitions discrètes possibles. L’analyse en avant d’un auto- mate temporisé ne se termine pas en général. Dans (Desel et al., 2004), nous pouvons trouver un exemple d’une telle analyse en avant inachevable.

Afin de forcer la terminaison de ce calcul, un opérateur d’extrapolation (ou d’ap- proximation) des zones d’horloges est généralement utilisé. Cette opération, appelée aussi normalisation, consiste à ignorer la valeur précise d’une horloge si elle dépasse un entier K, défini comme la plus grande constante existante dans les expressions des gardes et des invariants de l’automate. En effet, il suffit de retenir que cette valeur est plus grande que K (Bengtsson et Yi., 2004).

4.3 Contexte et objectifs de notre approche de diag-