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.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.