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.3 Vocabu<strong>la</strong>ire du test 109<br />

par le modèle considéré lors <strong>de</strong> <strong>la</strong> simu<strong>la</strong>tion. Cette activité est donc une activité indispensable et<br />

complémentaire <strong>de</strong> celle présentée au chapitre 3.<br />

Selon [43], le but <strong>de</strong> l’activité <strong>de</strong> test n’est cependant pas <strong>de</strong> démontrer l’absence d’erreur<br />

dans le programme ou <strong>de</strong> démontrer que le programme satisfait certaines propriétés attendues.<br />

Ainsi une définition préférée serait plutôt celle définissant le test comme une activité visant à<br />

détecter <strong>de</strong>s erreurs dans un logiciel (ou dans notre cas, dans un modèle). Ainsi, « tester » un<br />

modèle peut être aperçu comme une « mise à l’épreuve » <strong>de</strong> ce modèle dans le but <strong>de</strong> détecter<br />

le plus grand nombre d’erreurs possibles. Remarquons alors que <strong>de</strong>ux principaux types d’erreurs<br />

peuvent être présents dans un modèle : lorsque le modèle ne fait pas (ou fait <strong>de</strong> manière erronée)<br />

ce qu’il est supposé faire ; lorsque le modèle fait ce qu’il n’est pas censé faire. L’activité <strong>de</strong> test<br />

aura <strong>pour</strong> vocation <strong>de</strong> détecter ces erreurs <strong>pour</strong> permettre leurs corrections.<br />

4.3.2 Test et jeu <strong>de</strong> tests<br />

De façon re<strong>la</strong>tivement intuitive, un test est un couple (entrée, sortie) où l’entrée est un<br />

ensemble d’évènements à simuler sur le modèle et où <strong>la</strong> sortie est le résultat attendu. Ainsi, un<br />

test peut être décrit simplement par une phrase du type « si on joue un évènement donné sur le<br />

modèle, alors <strong>la</strong> sortie <strong>de</strong>vra être égale à une valeur v ».<br />

De manière formelle, nous définirons un test comme un 4-uplet t = (M, v, Φ, o) où :<br />

– M est le modèle étudié, i.e. le modèle sur lequel on va effectuer les tests ;<br />

– v = (e i ) i≥0 un vecteur d’évènements ;<br />

– Φ un observateur du modèle, i.e. une sortie du modèle ;<br />

– o ∈ dom(Φ) <strong>la</strong> valeur attendue <strong>de</strong> Φ.<br />

De manière spécifique aux automates <strong>de</strong> mo<strong>de</strong>s, on peut définir un test comme un 5-uplet<br />

t A = (A, v, s, Φ, o) où :<br />

– A = (D, dom, S, F in , F out , Σ, δ, σ, I) est un automate <strong>de</strong> mo<strong>de</strong> (Cf. section 2.3) ;<br />

– v = (e i ) i≥0 un vecteur d’évènements où ∀i, e i ∈ Σ ;<br />

– s une évaluation <strong>de</strong>s variables <strong>de</strong> S (s ∈ dom(S)) représentant l’état attendu <strong>de</strong> A à <strong>la</strong><br />

suite <strong>de</strong> v ;<br />

– Φ un observateur du modèle : Φ ∈ F out ;<br />

– o ∈ dom(Φ) <strong>la</strong> valeur attendue <strong>de</strong> Φ à <strong>la</strong> suite <strong>de</strong> v.<br />

On se donne également <strong>la</strong> possibilité <strong>de</strong> définir <strong>de</strong>s tests spécifiant l’impossibilité <strong>de</strong> réaliser<br />

un vecteur d’évènements. Un tel test sera défini <strong>de</strong> façon analogue à <strong>la</strong> définition précé<strong>de</strong>nte en<br />

fixant s = ∅, Φ = ∅ et o = ∅. Un tel test sera ainsi <strong>de</strong> <strong>la</strong> forme t A = (A, v, ∅, ∅, ∅).<br />

Remarque : La définition <strong>de</strong> test proposée ne précise les valeurs <strong>de</strong> sortie attendues qu’après <strong>la</strong><br />

séquence d’évènements. C’est un choix. Dans d’autres contextes (protocoles <strong>de</strong> télécommunication,<br />

systèmes temps réel), on peut aussi préciser les valeurs attendues<br />

en sortie après chaque action <strong>de</strong> <strong>la</strong> séquence.<br />

Remarque : Dans les <strong>de</strong>ux définitions ci-<strong>de</strong>ssus, on suppose que les <strong>modèles</strong> testés sont déterministes.<br />

Un même scénario <strong>de</strong> test conduira donc toujours à <strong>la</strong> même valeur <strong>de</strong>s<br />

variables <strong>de</strong> sortie.<br />

On définira ensuite, <strong>pour</strong> ces automates <strong>de</strong> mo<strong>de</strong>s un ensemble <strong>de</strong> tests (un jeu <strong>de</strong> tests) T<br />

= (t i A ) i≥1 où chaque t i A est un 5-uplet (A, v i, s i , Φ i , o i ).

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

Saved successfully!

Ooh no, something went wrong!