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.

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>

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

Saved successfully!

Ooh no, something went wrong!