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.5 Critère <strong>de</strong> couverture <strong>de</strong> <strong>modèles</strong> AltaRica par <strong>de</strong>s tests 125<br />

<strong>de</strong> flux d’entrée. En termes pratiques, couvrir les assertions nous permettra <strong>de</strong> vali<strong>de</strong>r les différentes<br />

évaluations <strong>de</strong>s variables <strong>de</strong> flux <strong>de</strong> sortie dans chacune <strong>de</strong>s configurations <strong>de</strong> l’automate <strong>de</strong> mo<strong>de</strong><br />

(définition 2.2).<br />

En <strong>la</strong>ngage AltaRica, <strong>la</strong> fonction d’assertion s’écrit à l’ai<strong>de</strong> <strong>de</strong> fonctions « if - then - else »<br />

imbriquées. On trouvera souvent les assertions écrites sous formes <strong>de</strong> « case ». Le tableau ci-<strong>de</strong>ssous<br />

présente <strong>la</strong> correspondance entre les <strong>de</strong>ux écritures. Les p i sont <strong>de</strong>s expressions booléennes sur les<br />

variables d’états et les variables <strong>de</strong> flux d’entrées. On les appellera « prédicats » dans <strong>la</strong> suite. Les<br />

ω i sont les valeurs prises par <strong>la</strong> variable <strong>de</strong> flux <strong>de</strong> sortie considérée (ω i ∈ dom(F out )).<br />

case { p 1 : ω 1 ,<br />

p 2 : ω 2 ,<br />

...<br />

p n−1 : ω n−1<br />

else ω n } ;<br />

if p 1 then ω 1<br />

else if p 2 then ω 2<br />

...<br />

if p n−1 then ω n−1<br />

else ω n<br />

end if<br />

...<br />

end if<br />

end if<br />

Toute assertion peut donc s’écrire sous une forme « if - then - else » c<strong>la</strong>ssique. Les critères<br />

définis en section 4.3.4 peuvent donc être adaptés à ces assertions.<br />

4.5.2.2 Critère <strong>de</strong> couverture simple <strong>de</strong>s prédicats d’une assertion<br />

Ce critère se veut permettre une prise en compte <strong>de</strong>s différentes branches <strong>de</strong> l’assertion, i.e.<br />

passer au moins une fois par chaque « cas » <strong>de</strong> l’assertion. Puisque les prédicats p i sont sous Forme<br />

Normale Disjonctive, l’opération consiste à utiliser le dépliage N°1 <strong>pour</strong> le critère <strong>de</strong> couverture<br />

sur les décisions (section 4.5.1.2).<br />

Critère <strong>de</strong> couverture simple <strong>de</strong>s prédicats d’une assertion : <strong>pour</strong> chaque prédicat p i d’une<br />

assertion, il existe au moins <strong>de</strong>ux tests conduisant le modèle dans <strong>de</strong>ux configurations satisfaisant<br />

respectivement p i = vrai et p i = faux. En d’autres termes, il faut que :<br />

– <strong>pour</strong> chaque prédicat p i il existe au moins un test amenant le modèle dans une configuration<br />

vérifiant « p i = vrai ∧ p j = faux » ∀j < i ;<br />

– il existe au moins un test amenant le modèle dans une configuration vérifiant ∀i, p i = faux.<br />

Ainsi le premier point permet <strong>de</strong> s’assurer que tous les n − 1 premiers cas <strong>de</strong> l’assertion sont<br />

testés par au moins un test. Le second point assure que le jeu <strong>de</strong> tests éprouve le « else ». Ce<br />

critère est le pendant du critère <strong>de</strong> couverture <strong>de</strong>s décisions défini en section 4.3.4.<br />

4.5.2.3 Critère <strong>de</strong> couverture <strong>de</strong>s conditions / décisions <strong>de</strong>s prédicats<br />

En supplément du critère précé<strong>de</strong>nt, ce critère vise à assurer que toutes les conditions d’un<br />

prédicat p i sont évaluées au moins une fois à vrai et à faux. Ce critère est le pendant du critère<br />

<strong>de</strong> couverture <strong>de</strong>s conditions / décisions défini en section 4.3.4.<br />

Nous rappelons ici que chaque prédicat p i <strong>de</strong> l’assertion peut être mis sous Forme Normale<br />

Disjonctive, i.e. sous <strong>la</strong> forme C i1 ∨ C i2 ∨ ... ∨ C ip où C ij est une conjonction élémentaire. Nous<br />

utilisons ici le dépliage N°3 <strong>pour</strong> le critère <strong>de</strong> couverture sur les conditions et les décisions défini<br />

en section 4.5.1.2.

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

Saved successfully!

Ooh no, something went wrong!