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.

128 Chapitre 4. Processus <strong>pour</strong> <strong>la</strong> <strong>validation</strong> <strong>de</strong> modèle AltaRica<br />

4.5.3 Critères <strong>de</strong> couverture <strong>de</strong>s transitions d’un modèle AltaRica<br />

4.5.3.1 Introduction et idée directrice<br />

Pour rappel, un automate <strong>de</strong> mo<strong>de</strong> se présente sous <strong>la</strong> forme d’un 9-uplet (D, dom, S, F in ,<br />

F out , Σ, δ, σ, I) avec notamment δ : dom(S) × dom(F in ) → dom(S) <strong>la</strong> fonction <strong>de</strong> transition<br />

qui fournit les prochaines valeurs <strong>de</strong>s variables d’état en fonction <strong>de</strong> leurs valeurs courantes, <strong>de</strong>s<br />

valeurs <strong>de</strong>s variables <strong>de</strong> flux d’entrée et <strong>de</strong> l’occurrence <strong>de</strong> l’évènement induisant le changement<br />

d’état. Pour plus <strong>de</strong> détail concernant un tel automate <strong>de</strong> mo<strong>de</strong>, on <strong>pour</strong>ra se référer à <strong>la</strong> section<br />

2.3. En termes pratiques, tester une transition reviendra à tester qu’un modèle AltaRica admet<br />

un certain comportement présent dans <strong>la</strong> spécification <strong>de</strong> référence. On <strong>pour</strong>ra également tester<br />

que le modèle AltaRica n’admet pas <strong>de</strong> comportements non spécifiés.<br />

En <strong>la</strong>ngage AltaRica, nous avons vu en section 2.2.4 qu’une telle transition s’écrivait : gar<strong>de</strong>(<br />

s, f in ) |− e → s ′ avec gar<strong>de</strong>(s, f in ) une condition booléenne sur les évaluations courantes s <strong>de</strong>s<br />

variables d’état et f in <strong>de</strong>s variables <strong>de</strong> flux d’entrée du nœud AltaRica, e un évènement et s ′ <strong>la</strong><br />

nouvelle évaluation <strong>de</strong>s variables d’état du nœud. La sémantique d’une telle écriture est simi<strong>la</strong>ire<br />

à une écriture <strong>de</strong> <strong>la</strong> forme « if - then - else » :<br />

If gar<strong>de</strong>(s, f in ) and e then s ′<br />

On remarque alors que plutôt qu’une forme en « if - then - else », une transition Alta-<br />

Rica s’écrit sous une forme en « if - then ». Pour tester le franchissement d’une transition, nous<br />

souhaitons tester les conditions permettant d’évaluer à vrai l’expression « gar<strong>de</strong>(s, f in ) and e »<br />

(nous ignorons ainsi les conditions conduisant à une gar<strong>de</strong> non satisfaite). Ainsi <strong>pour</strong> tester le<br />

franchissement d’une transition, il nous faut :<br />

– positionner le modèle AltaRica dans une configuration vérifiant l’expression gar<strong>de</strong>(s, f in ) ;<br />

– simuler l’évènement e <strong>de</strong> <strong>la</strong> transition.<br />

Au <strong>de</strong>là <strong>de</strong> tester le simple franchissement d’une transition, nous souhaitons également<br />

vouloir tester les différentes façons <strong>de</strong> rendre vraie l’expression « gar<strong>de</strong>(s, f in ) ». Pour ce<strong>la</strong>, nous<br />

proposons d’écrire cette expression sous forme normale disjonctive (section 4.5.1.1) et d’appliquer<br />

les dépliages proposés section 4.5.1.2. Nous définissons ainsi dans <strong>la</strong> suite différents critères <strong>de</strong><br />

couverture sur les transitions d’un modèle AltaRica. Ces critères nous permettrons <strong>de</strong> décomposer<br />

le domaine d’activation <strong>de</strong> <strong>la</strong> gar<strong>de</strong> <strong>de</strong> <strong>la</strong> transition (i.e. le domaine <strong>de</strong> valeur où l’expression<br />

gar<strong>de</strong>(s, f in ) est évaluée à <strong>la</strong> valeur vrai) en sous-domaines, fonctions du critère <strong>de</strong> couverture<br />

souhaité.<br />

Remarque : Pour tester qu’un scénario ne peut se réaliser sur le modèle, <strong>la</strong> tâche revient à l’heure<br />

actuelle à l’analyste. Ainsi, dans une certaine configuration du modèle AltaRica, un<br />

évènement ne <strong>de</strong>vra pas pouvoir être exécuté sur le modèle AltaRica.<br />

Dans <strong>la</strong> suite et <strong>pour</strong> <strong>la</strong> définition <strong>de</strong>s critères <strong>de</strong> couverture, nous supposerons que « gar<strong>de</strong><br />

(s, f in ) » est écrit sous Forme Normale Disjonctive.<br />

4.5.3.2 Critère <strong>de</strong> couverture simple d’une transition<br />

Franchir au moins une fois l’ensemble <strong>de</strong>s transitions du modèle AltaRica semble être l’exigence<br />

minimum que l’on peut espérer <strong>de</strong> <strong>la</strong> phase <strong>de</strong> test du modèle. Dans l’optique <strong>de</strong> s’assurer<br />

que l’ensemble <strong>de</strong> tests répond à cet objectif, nous définissons un premier critère <strong>de</strong> couverture<br />

<strong>pour</strong> les transitions d’un modèle AltaRica.

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

Saved successfully!

Ooh no, something went wrong!