Cela permet d’évaluer ensuite dans les critères de qualités la complexité et la compréhension du
2
diagramme états-transitions à travers le nombre des états (selon si le nombre d’états est fini ou
3
non).
4
Smell La dernière métrique que nous considérons est une situation où le diagramme
états-5
transitions semble contenir une erreur possible, c’est-à-dire une possibilité d’incohérence ou
d’er-6
reur.
7
Remarque Les noms donnés aux états dans la table des états doivent être significatifs et
8
doivent représenter les conditions que les états modélisent. Notez également que le critère de
9
qualité le nombre d’états du diagramme (qui doit être fini mais également suffisant pour décrire
10
le système) est pris en compte dans le diagramme états-transitions résultat de la méthode de
11
spécification. En effet, les observateurs d’états utilisés dans la génération de la table des états
12
ont des valeurs finis.
13
Critères de qualité
14En se basant sur les métriques (définies dans laSection 4.7.1), nous définissons dans cette
sec-15
tion des critères de qualité que nous utilisons ensuite pour évaluer la qualité des diagrammes
états-16
transitions et améliorer la compréhension de l’utilisateur vis-à-vis ces derniers (Section 4.7.3).
17
Duplication des états Nous définissons un premier critère de qualité qui est le nombre
18
d’états dupliqués (en se basant sur la métrique correspondante). Une hypothèse est que la qualité
19
ainsi que la compréhension du diagramme états-transitions sont meilleures en l’absence d’états
20
dupliqués. Il est possible que dans certains cas, il soit nécessaire de garder certains états dupliqués
21
(et cela dans le cas où il y a une influence sur la modélisation du système si les états sont
22
supprimés).
23
Transitions avec le même événement Le second critère que nous définissons dans cette
24
section est la présence de plusieurs transitions avec le même événement, issues de différents états
25
et allant vers un même état. La présence de plusieurs transitions de ce cas de figures pourrait
26
induire une difficulté à lire le diagramme ou à comprendre le sens des transitions. Donc le critère
27
de qualité serait l’absence de transitions avec le même événements et allant vers le même état
28
(dans le cas où cela n’influe pas sur la véracité de la modélisation du système).
29
Transitions avec différents événements Un autre critère de qualité que nous définissons
30
concerne la présence de différentes transitions avec différents événements et ayant le même état
31
source et le même état destination. Donc le critère de qualité serait un nombre minimal de ces
32
transitions qui permet une lisibilité meilleur et une compréhension plus facile.
33
Pseudo-états initiaux et états finaux Le dernier critère que nous définissons concerne
34
la présence de pseudo-états initiaux et d’états finaux dans un état composite. La présence de
35
pseudo-états initiaux dans les états composites est parfois importante pour la compréhension
36
du diagramme. Donc le critère de qualité serait la présence de pseudo-état initial dans un état
37
composite dans le cas où l’entrée à l’état composite n’est pas claire. Le même principe s’applique
38
pour les états finaux, car dans certains cas il est nécessaire d’avoir un état final dans un état
composite. Donc le critère de qualité serait la présence d’un état final dans un état composite si
1
la sortie de ce dernier n’est pas claire (avec l’absence de l’état final).
2
Améliorations
3Nous proposons dans cette section des transformations dans le but d’améliorer la “qualité”
4
du diagramme états-transitions et en se basant sur les critères proposés dans la Section 4.7.2.
5
Chaque transformation permet de respecter au mieux un critère de qualité et ainsi d’améliorer
6
la qualité du diagramme états-transitions. Les transformations sont présentées comme suit :
7
Suppression de la duplication La présence des mêmes1 transitions en sortie allant vers
8
le même état permet de détecter les états dupliqués et ainsi de les supprimer. Nous distinguons
9
alors deux cas : le cas où les états dupliqués ont les mêmes transitions en entrée et le cas où les
10
états dupliqués ont des transitions en entrée différentes.
11
Pour chaque ensemble d’états dupliqués ayant les mêmes transitions en sortie (allant vers le
12
même état) et les mêmes transitions en entrée, nous supprimons l’ensemble de ces états pour le
13
remplacer par un seul état avec une seule transition en entrée et en sortie. Dans laFigure 4.24a
14
les deux états dupliqués sont S3 etS4 avec les mêmes transitions en sortie (allant vers le même
15
état S5) et en entrée (à partir de S1). Après transformation les deux états sont remplacés par
16
l’état S3-4 et il y a une seule transition en entrée (car les deux transitions en entrée sont les
17
mêmes) et une seule transition en sortie vers l’état S5.
18
Pour chaque ensemble d’états dupliqués ayant les mêmes transitions en sortie (allant vers
19
le même état) et des transitions différentes en entrée, nous supprimons l’ensemble de ces états
20
pour le remplacer par un seul état et une seule transition en sortie. Les transitions en entrée sont
21
réorientées vers cet état. Dans la Figure 4.24b les deux états dupliqués sont S3 et S4 avec les
22
mêmes transitions en sortie (allant vers le même étatS5) et des transitions différentes en entrée
23
(à partir de S1). Après transformation les deux états sont remplacés par l’état S3-4 et les deux
24
transitions en entrée sont réorientées vers l’état S3-4(les transitions en entrée sont différentes).
25
Les deux transitions en sortie sont remplacées par une seule transition en sortie vers l’état S5
26
avec comme source l’étatS3-4.
27
Suppression de la redondance des transitions par introduction de la hiérarchie 28
Pour chaque ensemble d’états ayant une transition avec le même événement vers le même état,
29
nous créons un état composite contenant ces états. Les transitions des états de départ seront
30
remplacées par une seule transition avec l’événement correspondant allant de l’état composite
31
qui contient ces états. DansFigure 4.25il y a trois transitions avec le même événementsaissues
32
de S1, S2 et S3. Nous pouvons donc les factoriser en utilisant la hiérarchie par l’introduction
33
d’un état composite S qui contiendra les trois états (S1,S2 et S3). Toutes les transitions avec
34
l’événementaseront remplacées par une transition issues de l’état compositeS(avec l’événement
35
a) vers l’état S4.
36
Introduction des transitions avec plusieurs événements Pour chaque ensemble de
37
transitions ayant la même source et la même destination avec des événements, nous remplaçons
38
cet ensemble par une seule transition ayant plusieurs événements. Cette situation est envisageable
39
uniquement dans le cas ou le regroupement des événements dans une seule transition ne complique
40
pas la lecture de la transition. Dans laFigure 4.26les transitions avec les événementsa,b,c,det
41
1. nous appellerons "mêmes transitions", les transitions qui sont étiquetées par le même événement, la même garde et la même action