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.
4.7 Retours sur l’approche <strong>de</strong> <strong>validation</strong> unitaire proposée 135<br />
Remarque : Au sujet <strong>de</strong> <strong>la</strong> non activation souhaitée <strong>de</strong> certains drapeaux, nous faisons en particulier<br />
référence aux assertions et à leurs c<strong>la</strong>uses « else ». En effet, les chemins<br />
conduisant à passer dans le « else » sont moins explicite que les chemins activés<br />
par les autres cas <strong>de</strong> l’assertion. Ainsi et <strong>pour</strong> gar<strong>de</strong>r <strong>la</strong> maîtrise <strong>de</strong> l’assertion, il<br />
est parfois préféré par l’analyste <strong>de</strong> rendre non évaluable cette c<strong>la</strong>use i.e. <strong>de</strong> ne<br />
volontairement pas permettre que cette branche <strong>de</strong> l’instruction soit évaluée.<br />
Par exemple, au lieu <strong>de</strong> « OUT = case{c 1 = true : v 1 , else v 2 } » on écrira « OUT<br />
= case{c 1 = true : v 1 , c 1 = false : v 2 , else v x } » où v x ∈ dom(OUT ). Dans ce<br />
<strong>de</strong>uxième cas, <strong>la</strong> c<strong>la</strong>use « else » ne sera jamais évaluée.<br />
Modèle Drapeaux Description N° Test Commentaires<br />
AltaRica<br />
... ... ... ... ...<br />
Tableau 4.2 – Table <strong>de</strong> traçabilité entre le drapeau activé et le test qui l’active<br />
La table présentée sera ainsi complétée tout au long <strong>de</strong>s différentes simu<strong>la</strong>tions. À <strong>la</strong> suite <strong>de</strong><br />
chacun <strong>de</strong>s tests, l’analyste en charge <strong>de</strong> <strong>la</strong> simu<strong>la</strong>tion vérifiera <strong>la</strong> valeur <strong>de</strong> chacun <strong>de</strong>s drapeaux<br />
implémentés et complétera si besoin cette table <strong>de</strong> traçabilité. À tout moment et en particulier<br />
lorsque tous les tests auront été simulés, il sera aisé <strong>de</strong> rendre compte, <strong>de</strong> manière quasi instantanée,<br />
<strong>de</strong>s drapeaux ayant été activés et ceux ne l’ayant pas été. Pour ces <strong>de</strong>rniers, on <strong>pour</strong>ra au<br />
choix :<br />
– simuler davantage <strong>de</strong> tests provenant d’une source annexe (jugements experts, scénarios<br />
issus du retour d’expérience...) ;<br />
– générer un scénario activant un drapeau particulier (à partir <strong>de</strong> l’outil <strong>de</strong> génération <strong>de</strong><br />
séquences lié au <strong>la</strong>ngage AltaRica) ;<br />
– justifier que ce drapeau n’est pas couvert par <strong>la</strong> phase <strong>de</strong> test.<br />
4.7.2 Retours sur l’implémentation proposée<br />
L’implémentation <strong>de</strong>s critères <strong>de</strong> couverture sur un modèle AltaRica, proposée en section 4.6,<br />
est fondée sur l’insertion <strong>de</strong> drapeaux directement au sein du modèle AltaRica (i.e. du co<strong>de</strong><br />
AltaRica). L’approche est donc « intrusive » et son influence sur le modèle est multiple :<br />
– ajout <strong>de</strong> nouvelles transitions ;<br />
– ajout <strong>de</strong> variables d’état supplémentaires ;<br />
– ajout <strong>de</strong> transitions supplémentaires.<br />
Bien qu’en théorie et en se rappe<strong>la</strong>nt le principe <strong>de</strong> ces drapeaux, <strong>la</strong> dynamique implémentée<br />
du composant ne soit pas modifiée (les changements <strong>de</strong> valeur <strong>de</strong>s variables d’état déjà implémentées<br />
restent inchangés ; les assertions restent inchangées), le risque lié à l’introduction <strong>de</strong> ces<br />
drapeaux ne peut être totalement considéré comme nul.<br />
Sans proposer <strong>pour</strong> autant une « <strong>validation</strong> <strong>de</strong> <strong>la</strong> <strong>validation</strong> » (ce qui nous entraînerait facilement<br />
dans une boucle pouvant potentiellement ne pas avoir <strong>de</strong> fin), nous recommandons <strong>la</strong><br />
plus gran<strong>de</strong> pru<strong>de</strong>nce lors <strong>de</strong> l’implémentation <strong>de</strong> ces drapeaux. Pour aller plus loin et lors <strong>de</strong><br />
futurs travaux, on envisagera une implémentation automatisé <strong>de</strong> ces drapeaux selon le critère <strong>de</strong><br />
<strong>la</strong> section 4.5 choisi. Brièvement, <strong>la</strong> première étape consistera à <strong>la</strong> mise <strong>de</strong> l’expression booléenne<br />
sous Forme Normale Disjonctive (section 4.5.1). Une fois cette écriture obtenue, le dépliage <strong>de</strong>