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.

5.2 Bi<strong>la</strong>n <strong>de</strong> l’activité <strong>de</strong> <strong>validation</strong> <strong>de</strong>s <strong>modèles</strong> 147<br />

En suivant ces recommandations, on parvient à retrouver dans Cecilia TM Arbor les probabilités<br />

<strong>de</strong>s évènements élémentaires présents dans les arbres et <strong>la</strong> probabilité <strong>de</strong> l’évènement<br />

redouté <strong>de</strong> haut niveau. Par contre et étant donné que l’arbre est sous-forme <strong>de</strong> « râteau », on<br />

perd <strong>la</strong> représentation et <strong>la</strong> probabilité <strong>de</strong>s évènements intermédiaires présents dans les arbres <strong>de</strong><br />

défail<strong>la</strong>nce.<br />

Remarque : L’arbre représentant les séquences générées par le modèle peut être vu d’une certaine<br />

manière comme une « mise à p<strong>la</strong>t » <strong>de</strong> l’arbre <strong>de</strong> défail<strong>la</strong>nce disponible dans les<br />

analyses <strong>de</strong> sécurité actuelles.<br />

5.2.3 Vers l’utilisation du processus <strong>de</strong> <strong>validation</strong> proposé<br />

Nous avons proposé au chapitre 4 un processus visant à vali<strong>de</strong>r le comportement du modèle<br />

AltaRica et plus particulièrement <strong>de</strong>s nœuds d’une bibliothèque. Nous rappelons qu’il est composé<br />

<strong>de</strong> trois étapes principales : <strong>la</strong> <strong>validation</strong> unitaire (i.e. <strong>la</strong> <strong>validation</strong> <strong>de</strong> <strong>la</strong> bibliothèque <strong>de</strong> nœud<br />

AltaRica), <strong>la</strong> <strong>validation</strong> <strong>de</strong> l’intégration et <strong>la</strong> <strong>validation</strong> globale (figure 4.2).<br />

Ce processus concerne surtout <strong>la</strong> <strong>validation</strong> unitaire. Nous avons alors vu que potentiellement,<br />

<strong>la</strong> <strong>validation</strong> d’un nœud peut nécessiter l’introduction d’un nombre important <strong>de</strong> modifications<br />

(section 4.6) dans le co<strong>de</strong> AltaRica implémentant le nœud. N’ayant alors pas d’outil<br />

supportant l’écriture automatique <strong>de</strong> ces modifications (section 4.7.3), celui-ci n’a pas été au<br />

cours <strong>de</strong> ces travaux déployé à une échelle importante. Ainsi, seul le principe général <strong>de</strong> l’approche<br />

a été étudié en l’appliquant à un nœud AltaRica unitaire. L’intégration <strong>de</strong>s nœuds entre eux ainsi<br />

que le modèle global n’ont pas été validé <strong>de</strong> <strong>la</strong> sorte.<br />

Nous montrons ici l’application du processus au composant Valve dont le co<strong>de</strong> est présenté<br />

figure 2.6. Une spécification typique du comportement d’une telle valve est présentée figure 2.1.<br />

De ce schéma, on tire sans gran<strong>de</strong> difficulté et en suivant le principe <strong>de</strong> l’exemple page 116 un<br />

ensemble <strong>de</strong> tests T composé <strong>de</strong> plusieurs scénarios <strong>de</strong> test :<br />

– <strong>de</strong>s scénarios permettant <strong>de</strong> s’assurer que les comportements spécifiés sont correctement implémentés<br />

: {∅}, {Blocage}, {Fermeture}, {Fermeture, Ouverture}, {Fermeture, Blocage} ;<br />

– <strong>de</strong>s scénarios permettant <strong>de</strong> s’assurer que les comportements non spécifiés ne sont pas<br />

implémentés : {Ouverture}, {Blocage, Ouverture}, {Blocage, Fermeture}, {Blocage, Blocage},<br />

{Fermeture, Fermeture}, {Fermeture, Blocage, Fermeture}, {Fermeture, Blocage,<br />

Ouverture} et {Fermeture, Blocage, Blocage}.<br />

Pour rappel, les transitions implémentant ce comportement sont les suivantes :<br />

trans<br />

bloque=false |- Blocage -> bloque :=true ;<br />

etat=ouverte and bloque=false |- Fermeture -> etat :=fermee ;<br />

etat=fermee and bloque=false |- Ouverture -> etat :=ouverte ;<br />

Imaginons <strong>pour</strong> présenter le principe <strong>de</strong> l’approche que l’analyste en charge <strong>de</strong> l’implémentation<br />

fasse une erreur et implémente <strong>de</strong> <strong>la</strong> façon suivante (<strong>la</strong> fermeture et l’ouverture peuvent<br />

alors avoir lieu même après blocage <strong>de</strong> <strong>la</strong> valve) :

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

Saved successfully!

Ooh no, something went wrong!