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> 41<br />

<strong>la</strong> fois <strong>de</strong> l’état courant <strong>de</strong> l’automate et <strong>de</strong> ses entrées (en opposition aux machines <strong>de</strong> Moore<br />

dont les sorties ne peuvent dépendre que <strong>de</strong> l’état courant <strong>de</strong> l’automate). Nous donnons ici <strong>la</strong><br />

définition formelle <strong>de</strong> ces automates <strong>de</strong> mo<strong>de</strong> très fortement inspirée <strong>de</strong> [55].<br />

2.3.1 Automate <strong>de</strong> mo<strong>de</strong><br />

Nous nommerons dans <strong>la</strong> prochaine définition :<br />

– D un ensemble fini (i.e. un domaine) <strong>de</strong> symboles que nous nommerons constantes ;<br />

– P (D) est l’ensemble <strong>de</strong>s parties <strong>de</strong> D ;<br />

– V un ensemble fini <strong>de</strong> symboles que nous nommerons variables (D ∩ V = ∅) ;<br />

– dom une application <strong>de</strong> V dans P (D) définie telle que :<br />

– ∀v ∈ V, dom(v) ≠ ∅,<br />

– ∀U ⊆ V, dom(U) = Π v∈U dom(v), i.e. dom(U) est l’ensemble <strong>de</strong> toutes les possibles<br />

valeurs <strong>de</strong>s variables <strong>de</strong> U.<br />

Définition 2.1 : Automate <strong>de</strong> mo<strong>de</strong><br />

Un automate <strong>de</strong> mo<strong>de</strong> est un 9-uplet (D, dom, S, F in , F out , Σ, δ, σ, I) tel que :<br />

– D et dom sont définis comme décrits ci-<strong>de</strong>ssus ;<br />

– S, F in et F out <strong>de</strong>s sous-ensembles disjoints <strong>de</strong> V ; les variables <strong>de</strong> S, F in et F out sont<br />

nommées respectivement variables d’état, variables <strong>de</strong> flux d’entrée et variables <strong>de</strong> flux <strong>de</strong><br />

sortie ;<br />

– Σ est un ensemble fini <strong>de</strong> symboles appelés évènements ;<br />

– δ : dom(S) × dom(F in ) × dom(Σ) → dom(S) est une application partielle appelée transition<br />

; elle fournit les prochaines valeurs <strong>de</strong>s variables d’état en fonction <strong>de</strong> leur valeur<br />

courante, <strong>de</strong>s valeurs <strong>de</strong>s variables <strong>de</strong> flux d’entrée et <strong>de</strong> l’occurrence <strong>de</strong> l’évènement induisant<br />

le changement d’état ;<br />

– σ : dom(S)×dom(F in ) → dom(F out ) est une fonction totale appelée assertion ; elle fournit<br />

les valeurs <strong>de</strong>s variables <strong>de</strong> flux <strong>de</strong> sortie en fonction <strong>de</strong>s valeurs <strong>de</strong>s variables d’état et <strong>de</strong>s<br />

valeurs <strong>de</strong>s variables <strong>de</strong> flux d’entrée ;<br />

– I ⊆ dom(S) définit les valeurs initiales <strong>de</strong>s variables d’état. <br />

Remarque : Remarquons ici que l’état initial <strong>de</strong> l’automate <strong>de</strong> mo<strong>de</strong> n’est pas forcément unique<br />

(I ⊆ dom(S) et pas I ∈ dom(S)). On se restreindra cependant dans <strong>la</strong> suite à <strong>de</strong>s<br />

automates avec variables d’état initialisées <strong>de</strong> manière unique comme utilisé dans<br />

Cecilia TM OCAS.<br />

Exemple : Dans cet exemple, nous modélisons sous forme d’automate <strong>de</strong> mo<strong>de</strong> <strong>la</strong> valve hydraulique<br />

décrite sur <strong>la</strong> figure 2.3.1. L’automate <strong>de</strong> mo<strong>de</strong> décrivant cette valve est le suivant :<br />

– S={etat, bloque};<br />

– dom(etat) = {ouverte, fermee}, dom(bloque) = {true, false};

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

Saved successfully!

Ooh no, something went wrong!