• Aucun résultat trouvé

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é

14

En 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

3

Nous 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