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

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 ;

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

Saved successfully!

Ooh no, something went wrong!