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
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};