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.
116 Chapitre 4. Processus <strong>pour</strong> <strong>la</strong> <strong>validation</strong> <strong>de</strong> modèle AltaRica<br />
– aux spécifications utilisant <strong>de</strong>s machines à états finis : diagramme états-transitions, diagramme<br />
d’états UML, Statechart... ;<br />
– aux spécifications décrites sous forme tabu<strong>la</strong>ire et utilisant une philosophie simi<strong>la</strong>ire à SCR<br />
(Software Cost Reduction [32]).<br />
Le traitement <strong>de</strong>s <strong>de</strong>ux points ci-<strong>de</strong>ssus dans <strong>la</strong> même section se justifie avec le fait, déjà évoqué<br />
en section 3.8.4 que le formalisme sous-jacent à l’écriture tabu<strong>la</strong>ire <strong>de</strong> SCR est un formalisme<br />
utilisant <strong>de</strong>s machines à état finis.<br />
Avec <strong>de</strong> telles formes <strong>de</strong> spécifications, <strong>la</strong> génération <strong>de</strong> tests se fera avec <strong>de</strong>ux objectifs<br />
distincts : vali<strong>de</strong>r <strong>la</strong> logique interne décrite dans <strong>la</strong> spécification (i.e. les changements d’état) et<br />
vali<strong>de</strong>r les calculs décrits dans <strong>la</strong> spécification (i.e. comment sont définies les sorties en fonction<br />
<strong>de</strong> l’état et <strong>de</strong>s entrées). Le principe <strong>de</strong> génération est alors <strong>de</strong> :<br />
– générer <strong>de</strong>s scénarios permettant <strong>de</strong> visiter chacun <strong>de</strong>s états <strong>de</strong> <strong>la</strong> spécification ;<br />
– générer, dans chacun <strong>de</strong> ces états, <strong>de</strong>s scénarios <strong>pour</strong> tester les équations définissant les<br />
valeurs <strong>de</strong>s sorties ;<br />
– mettre en p<strong>la</strong>ce <strong>de</strong>s critères <strong>de</strong> couverture sur <strong>la</strong> spécification <strong>pour</strong> assurer et garantir <strong>la</strong><br />
mise à l’épreuve <strong>de</strong>s différentes transitions entre états et <strong>de</strong>s différentes équations <strong>de</strong> sorties.<br />
On <strong>pour</strong>ra trouver dans les références [47, 15, 46] divers travaux traitant <strong>de</strong> <strong>la</strong> génération <strong>de</strong><br />
tests à partir <strong>de</strong> diagrammes états-transitions (sous forme graphique ou tabu<strong>la</strong>ire) et <strong>de</strong> <strong>la</strong> mise en<br />
p<strong>la</strong>ce <strong>de</strong> critères <strong>de</strong> couverture sur ce type <strong>de</strong> spécification. Nous développerons <strong>pour</strong> notre part<br />
plus en détails et à partir <strong>de</strong> <strong>la</strong> section 4.5 <strong>de</strong> tels mécanismes appliqués aux <strong>modèles</strong> AltaRica et<br />
aux automates <strong>de</strong> mo<strong>de</strong>.<br />
Exemple : Pour illustrer le principe général <strong>de</strong> <strong>la</strong> génération <strong>de</strong> tests à partir d’une spécification,<br />
nous reprenons l’exemple <strong>de</strong> <strong>la</strong> valve dont <strong>la</strong> spécification <strong>de</strong> comportement est indiquée figure 2.1<br />
(page 34). Nous <strong>la</strong> rappelons ici :<br />
etat=ouverte<br />
bloque=false<br />
..................<br />
sortie = entree<br />
Fermeture ↓ ↑ Ouverture<br />
etat=fermée<br />
bloque=false<br />
..................<br />
sortie = nul<br />
Blocage<br />
−−−−→<br />
Blocage<br />
−−−−→<br />
etat=ouverte<br />
bloque=true<br />
..................<br />
sortie = entree<br />
etat=fermée<br />
bloque=true<br />
..................<br />
sortie = nul<br />
Ici et sans passer en revue les différents critères <strong>de</strong> couverture pouvant être définis sur une<br />
telle spécification, on souhaitera tester les différents états et dans chacun <strong>de</strong>s états, tester les<br />
différentes évaluations <strong>de</strong> <strong>la</strong> variable <strong>de</strong> flux « sortie ». Une génération <strong>de</strong> tests possible ici est (A<br />
désigne l’automate <strong>de</strong> mo<strong>de</strong> considéré ici, s i désigne une évaluation du couple (etat, bloque), Φ<br />
désigne <strong>la</strong> variable <strong>de</strong> flux « sortie ») :<br />
– t 1 A = (A, v 1, s 1 , Φ, o 1 ) avec v 1 = ∅, s 1 = (ouverte, false) et o 1 = entree ;<br />
– t 2 A = (A, v 2, s 2 , Φ, o 2 ) avec v 2 = {Blocage}, s 2 = (ouverte, true) et o 2 = entree ;<br />
– t 3 A = (A, v 3, s 3 , Φ, o 3 ) avec v 3 = {Fermeture}, s 1 = (fermée, false) et o 3 = nul ;