23.11.2014 Views

Méthodes pour la validation de modèles formels pour la ... - ISAE

Méthodes pour la validation de modèles formels pour la ... - ISAE

Méthodes pour la validation de modèles formels pour la ... - ISAE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.3 Sémantique du <strong>la</strong>ngage AltaRica : les automates <strong>de</strong> mo<strong>de</strong> 45<br />

– L’évaluation ˆF in [e 2 ← failed] est ˆF in [e 2 ← failed] = (ok, failed, failed).<br />

En notant A = (D, dom, S, F in , F out , Σ, δ, σ, I) un automate <strong>de</strong> mo<strong>de</strong>, i ∈ F in et<br />

o ∈ F out , o est dite indépendante <strong>de</strong> i, noté i ⊥ 0, lorsque :<br />

∀Ŝ ∈ dom(S), ∀ ˆF ∈ dom(F in ), ∀c ∈ dom(i), σ(Ŝ, ˆF)[o] = σ(Ŝ, ˆF[i ← c])[o]<br />

En termes plus in<strong>formels</strong>, o est dite indépendante <strong>de</strong> i si <strong>la</strong> valeur <strong>de</strong> o ne varie pas quelle que<br />

soit <strong>la</strong> valeur <strong>de</strong> i et ce<strong>la</strong> <strong>pour</strong> toutes les évaluations <strong>de</strong>s variables d’état et d’entrée. L’indépendance<br />

entre <strong>de</strong>ux variables <strong>de</strong> flux est cependant, en appliquant cette définition, couteuse à démontrer.<br />

Pour s’affranchir <strong>de</strong> cette difficulté, il est suffisant (mais pas nécessaire) <strong>de</strong> s’assurer que ni i 2 , ni<br />

i 3 n’interviennent dans le calcul <strong>de</strong> o 1 (il n’est par exemple pas impossible <strong>de</strong> connecter o 2 et i 1 ).<br />

En complément <strong>de</strong> l’indépendance entre variables, il est également indispensable que le<br />

domaine <strong>de</strong> <strong>la</strong> variable <strong>de</strong> sortie soit inclus dans celui <strong>de</strong>s variables d’entrée avec lesquelles elle est<br />

connectée.<br />

Définition 2.5 : Connexion d’automate <strong>de</strong> mo<strong>de</strong><br />

Donnons maintenant une définition formelle <strong>de</strong> <strong>la</strong> connexion d’automate <strong>de</strong> mo<strong>de</strong>. Nous<br />

rappelons qu’une opération <strong>de</strong> composition parallèle d’automates <strong>de</strong> mo<strong>de</strong> précè<strong>de</strong> toute opération<br />

<strong>de</strong> connexion d’automate <strong>de</strong> mo<strong>de</strong> ; le principe <strong>de</strong> <strong>la</strong> connexion est alors, à l’intérieur d’un automate<br />

<strong>de</strong> mo<strong>de</strong>, <strong>de</strong> contraindre <strong>de</strong>s variables d’entrée à être égales à <strong>de</strong>s variables <strong>de</strong> sortie (afin d’assurer<br />

l’absence <strong>de</strong> définition circu<strong>la</strong>ire dans l’automate résultant <strong>de</strong> <strong>la</strong> connexion, on <strong>de</strong>vra s’assurer lors<br />

d’une telle opération que les variables reliées sont indépendantes [Définition 2.4]).<br />

Soient un automate <strong>de</strong> mo<strong>de</strong> A = (D, dom, S, F in , F out , Σ, δ, σ, I), o ∈ F out et f 1 , ...,<br />

f k ∈ F in telles que ∀i ∈ [1, k], o ⊥ f i et dom(o) ⊆ dom(f i ).<br />

Soient Fς<br />

in = F in − {f i } i=1,..,k , Ŝ ∈ dom(S) et ˆF ∈ dom(Fς in ).<br />

[ ˆF[v] si v ∈ F<br />

in<br />

Notons ˆFŜ,o/f1,...,o/f k<br />

[v] =<br />

ς<br />

σ(Ŝ, ˆF ′ )[o] sinon<br />

où ˆF ′ ∈ dom(F in ) est une extension quelconque <strong>de</strong> ˆF (Fς in ⊂ F in ).<br />

L’automate <strong>de</strong> mo<strong>de</strong> dans lequel <strong>la</strong> sortie o est connectée aux entrées f 1 , ..., f k est noté<br />

A o/f1,...,o/f k<br />

= (D, dom, S, Fς<br />

in , Fς<br />

out , Σ, δ ′ , σ ′ , I) où Fς out , δ ′ et σ ′ sont définis par :<br />

– Fς out = F out − {o} ;<br />

– ∀Ŝ ∈ dom(S), ∀ ˆF ∈ dom(Fς<br />

in ), ∀e ∈ Σ, si δ(Ŝ, ˆFŜ,o/f1,...,o/f k<br />

, e) est défini, alors<br />

δ ′ (Ŝ, ˆF, e) = δ(Ŝ, ˆFŜ,o/f1,...,o/f k<br />

, e) ;<br />

<br />

– ∀Ŝ ∈ dom(S), ∀ ˆF ∈ dom(F in<br />

ς ), σ ′ (Ŝ, ˆF) = σ(Ŝ, ˆFŜ,o/f1,...,o/f k<br />

).<br />

En pratique, ce<strong>la</strong> revient à substituer les valeurs <strong>de</strong>s entrées connectées f 1 ,..., f k par <strong>la</strong><br />

valeur <strong>de</strong> <strong>la</strong> sortie o <strong>pour</strong> tous les jeux d’évaluation <strong>de</strong>s états et <strong>de</strong>s entrées. <br />

Exemple : Sur <strong>la</strong> figure 2.10, l’opération <strong>de</strong> connexion consistera à :

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!