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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
148 Chapitre 5. Cas d’étu<strong>de</strong> et retour sur l’approche<br />
trans<br />
bloque=false |- Blocage -> bloque :=true ;<br />
etat=ouverte |- Fermeture -> etat :=fermee ; % Erreur<br />
etat=fermee |- Ouverture -> etat :=ouverte ; % Erreur<br />
Les gar<strong>de</strong>s <strong>de</strong>s transitions étant <strong>de</strong> simples conditions (en particulier elles sont donc déjà<br />
sous forme normale disjonctive), les critères définis en section 4.5.3.4 sont équivalents à franchir<br />
<strong>la</strong> transition en évaluant <strong>la</strong> condition à <strong>la</strong> valeur vrai. En insérant les drapeaux (tous initialisés à<br />
<strong>la</strong> valeur « false ») conformément au chapitre 4, les transitions <strong>de</strong>viennent :<br />
trans<br />
bloque=false |- Bloquage -> bloque :=true, f<strong>la</strong>g_t_1:=true ;<br />
etat=ouverte |- Fermeture -> etat :=fermee, f<strong>la</strong>g_t_2:=true ;<br />
etat=fermee |- Ouverture -> etat :=ouverte, f<strong>la</strong>g_t_3:=true ;<br />
La simu<strong>la</strong>tion <strong>de</strong>s scénarios <strong>de</strong> test <strong>de</strong> T permet d’activer l’ensemble <strong>de</strong>s drapeaux définis<br />
(l’état initial est etat=ouverte et bloque=false) :<br />
– {Blocage} active le drapeau 1 ;<br />
– {Fermeture} active le drapeau 2 ;<br />
– {Fermeture, Ouverture} active les drapeaux 2 puis 3 ;<br />
– {Fermeture, Blocage} active les drapeaux 2 puis 1.<br />
En <strong>pour</strong>suivant <strong>la</strong> simu<strong>la</strong>tion <strong>de</strong> scénarios <strong>de</strong> test, on obtient :<br />
– les scénarios {Ouverture}, {Blocage, Blocage}, {Fermeture, Fermeture}, {Fermeture, Blocage,<br />
Fermeture} et {Fermeture, Blocage, Blocage} sont impossibles à réaliser conformément<br />
au comportement spécifié ;<br />
– les scénarios {Blocage, Ouverture}, {Blocage, Fermeture} et {Fermeture, Blocage, Ouverture}<br />
peuvent par contre être simulés sur le modèle AltaRica alors qu’il s’agit <strong>de</strong> comportements<br />
non spécifiés.<br />
Deux solutions sont alors possibles : soit <strong>la</strong> spécification du nœud est fausse ou incomplète<br />
et ne fournit pas un ensemble satisfaisant <strong>de</strong> scénarios <strong>de</strong> test, soit le nœud est implémenté <strong>de</strong><br />
manière incorrecte. Dans l’un ou l’autre <strong>de</strong>s cas, le résultat impose à l’analyste d’approfondir<br />
<strong>la</strong> question. Ici, l’analyste se rendra compte que les scénarios sont erronés et <strong>pour</strong>ra corriger<br />
l’implémentation en conséquence.<br />
Le principe est i<strong>de</strong>ntique concernant <strong>la</strong> <strong>validation</strong> <strong>de</strong>s assertions. En imposant une réflexion<br />
sur à <strong>la</strong> fois <strong>la</strong> spécification et le nœud AltaRica, le processus permet <strong>de</strong> détecter <strong>de</strong> potentielles<br />
erreurs dans ces <strong>de</strong>ux documents. Ainsi on <strong>pour</strong>ra détecter <strong>de</strong>s comportements admis par le nœud<br />
mais non spécifiés. On <strong>pour</strong>ra également détecter <strong>de</strong>s comportements spécifiés mais non permis<br />
par le nœud (i.e. scénarios non réalisables sur le nœud).<br />
5.3 Accent sur quelques avantages <strong>de</strong> l’approche « Mo<strong>de</strong>l<br />
Based Safety Analysis » et <strong>de</strong> <strong>la</strong> méthodologie <strong>de</strong> modélisation<br />
proposée<br />
La méthodologie présentée au chapitre 3 s’appuie sur l’approche « Mo<strong>de</strong>l Based Safety<br />
Analysis ». En tant que telle, différents <strong>de</strong> ces avantages peuvent être explicités ici :