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