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.2 Syntaxe du <strong>la</strong>ngage AltaRica OCAS 35<br />

courant du nœud (son environnement n’a alors pas accès à <strong>la</strong> valeur <strong>de</strong> cet état) et représente<br />

ainsi les différents mo<strong>de</strong>s <strong>de</strong> fonctionnement et <strong>de</strong> dysfonctionnement du composant AltaRica.<br />

Les variables <strong>de</strong> flux sont ainsi visibles et accessibles par l’extérieur du nœud ; les variables d’état<br />

<strong>de</strong>meurent internes au nœud et ne le sont pas.<br />

Dans les <strong>de</strong>ux cas (variables <strong>de</strong> flux et d’état) et afin <strong>de</strong> déc<strong>la</strong>rer <strong>de</strong> telles variables au sein<br />

d’un nœud AltaRica, il est nécessaire <strong>de</strong> déc<strong>la</strong>rer le nom <strong>de</strong> cette variable ainsi que son type. Deux<br />

différences entre les <strong>de</strong>ux types <strong>de</strong> variables : les variables <strong>de</strong> flux doivent se voir préciser leurs<br />

orientations (i.e. si <strong>la</strong> variable <strong>de</strong> flux représente une entrée ou une sortie du nœud) ; les variables<br />

d’état doivent être initialisées. La plupart du temps, les variables <strong>de</strong> flux et d’état seront <strong>de</strong> types<br />

booléen ou énuméré (e.g. {ok, faible, nul}).<br />

Écriture en BNF (resp. ) désigne<br />

une liste contenant zéro, un ou plusieurs (resp. un ou plusieurs) éléments <strong>de</strong> type « construction »<br />

séparés par « sep ».<br />

::= flow <br />

::= : : <br />

::= chaîne <strong>de</strong> caractère alphanumérique ou le caractère "_"<br />

::= { }<br />

::= true<br />

::= false<br />

::= symbole<br />

::= in<br />

::= out<br />

Variables <strong>de</strong> flux<br />

Variables d’état<br />

flow<br />

state<br />

entree : {ok, faible, nul} : in ; bloque : bool ;<br />

sortie : {ok, faible, nul} : out ; etat : {ouverte, fermee} ;<br />

init<br />

bloque :=false, etat :=ouverte<br />

Figure 2.2 – Définition <strong>de</strong>s variables <strong>de</strong> flux et d’état en <strong>la</strong>ngage AltaRica<br />

2.2.3 Évènements<br />

Au sein d’un nœud AltaRica, les évènements modélisent les phénomènes provoquant les<br />

changements d’états. D’un point <strong>de</strong> vue purement automate, il s’agit uniquement d’une étiquette<br />

que l’on p<strong>la</strong>ce sur une transition (cf. figure 2.1 qui contient 3 évènements).<br />

En pratique et <strong>la</strong> plupart du temps, les évènements modélisés dans le nœud AltaRica représentent<br />

<strong>de</strong>s défail<strong>la</strong>nces ou <strong>de</strong>s reconfigurations du composant. Il est possible d’associer à chacun<br />

<strong>de</strong>s évènements une loi <strong>de</strong> probabilité. Ces lois <strong>de</strong> probabilités seront utiles lors <strong>de</strong> l’analyse quantitative<br />

du modèle AltaRica (un modèle sans loi <strong>de</strong> probabilité permettra cependant une analyse<br />

purement qualitative du système représenté) . Dans le cas <strong>de</strong> défail<strong>la</strong>nce, cette loi <strong>pour</strong>ra être par<br />

exemple une loi exponentielle ou une loi <strong>de</strong> Weibull. Dans le cas <strong>de</strong> reconfiguration ou <strong>de</strong> propagation,<br />

on utilisera souvent une loi en Dirac(0) (une telle loi signifie que l’évènement sera tiré<br />

<strong>de</strong> manière certaine dès que ce<strong>la</strong> <strong>de</strong>viendra possible) ; l’évènement sera alors qualifié d’évènement

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

Saved successfully!

Ooh no, something went wrong!