• Aucun résultat trouvé

exemple, dans la Figure 8.7, la transition étiquetée avec l’événement carLeaves comporte une

3

contrainte temporelle. La présence de cette contrainte est parce quelle concerne l’occurrence de

4

l’événementcarLeaveset non pas le comportement do de l’étatgateRaised(qui dans l’exemple

5

ne possède pas un comportement do).

6

Figure 8.7 – Le temps dans les transitions

Dans le cas où le temps concerne l’exécution d’un comportement dans un état donné et

7

non pas l’occurrence d’un événement, alors nous exprimons le temps dans les états en

défi-8

nissant la contrainte par rapport au comportement do. Par exemple dans la Figure 8.8, l’état

9

ticketProcessingcomporte une contrainte temporelle concernant son comportement do

(c’est-10

à-dire le comportement doprocessingqui a pour contrainte 30 secondes). La contrainte

tempo-11

relle est exprimée dans l’état et non pas dans la transition (étiquetée avec l’événementticketSuccess)

12

car cela concerne l’exécution du comportement do et non pas l’occurrence de l’événement. La

13

présence de la contrainte dans l’état permet également d’éviter de gérer la contrainte dans la

tran-14

sition étiquetée avec l’événementticketSucesset dans la transition étiquetée avec l’événement

15

ticketFailure.

16

Figure 8.8 – Le temps dans les états

Mesurer le temps Les horloge ne sont pas utilisées dans notre annotation des diagrammes

17

états-transitions. Cependant, il est possible d’utiliser une horloge globale pour chronométrer le

18

temps globale du modèle mais également définir des horloges locales pour chaque état. L’absence

19

d’horloge globale dans nos annotations temporelles est due à la phase de vérification de notre

20

modèle qui se fait dans les réseaux de Petri colorés temporisés (après la traduction) et non pas

21

dans les diagrammes états-transitions.

22

Unités de temps

23

La diversité des contraintes temporelles dans les systèmes temporisés implique l’utilisation

24

de différentes unités de temps. Nous considérons un ensemble d’unités qui accompagnent les

25

expressions temporelles dans les diagrammes états-transitions. L’unité de temps par défaut est

la seconde et dans le cas où il n’y a pas d’unité dans l’expression temporelle cela implique que

1

l’unité est la seconde.

2

Les unités prises en compte dans cette définition sont les suivantes :

3

• s secondes qui est l’une des mesures de base

4

• ms milliseconde définie par un facteur de 0,001 par rapport aux secondes

5

• ns nanoseconde définie par un facteur de 0,001 par rapport aux millisecondes

6

• min minutes définie par un facteur de 60 par rapport aux secondes

7

• h heure définie par un facteur de 60 par rapport aux minutes

8

• day jour défini par un facteur de 24 par rapport aux heures

9

D’autres travaux considèrent les unités de temps dans leurs annotations tels que MARTE. Ce

10

dernier comprend plus d’unités telles que les tic. Nous ne considérons pas les tic dans les unités

11

de temps que nous prenons en compte car c’est dédié à la représentation des unités dans le cas

12

de processeurs. Étant donné que nos études de cas ne considèrent pas les tic, nous les avons pas

13

considéré dans nos unités de temps.

14

Les unités de temps dans le model checking 15

Dans la phase de vérification les unités de temps ne sont pas considérées et par conséquent

16

dans le cas de la présence de ces unités dans les diagrammes états-transitons cela peut créer des

17

problèmes. C’est pour cette raison qu’il faut faire une conversion des unités vers l’unité la plus

18

petite du modèle pour que le modèle soit homogène.

19

Comparaisons

20

Afin de renforcer la raison de notre choix nous proposons une comparaison des différents

élé-21

ments pris en considération selon notre classification avec d’autres travaux (voir leTableau 8.2).

22

: la contrainte est considérée

23

×: la contrainte peut être modélisée par l’approche

24

Le temps dans UML Nous avons présenté dans laSection 3.3 les contraintes temporelles

25

qui sont considérés dans la spécification d’UML. Les deux éléments syntaxiques utilisés pour la

26

représentation des contraintes temporelles dans UML sont at et after. L’élément syntaxique

27

after correspond à l’élément at que nous utilisons pour la représentation de la latence.

L’élé-28

ment syntaxique at correspond à la représentation du temps absolu vis à vis l’occurrence des

29

événements. Nous avons la possibilité de représenter cette contrainte (représentée par l’élément

30

syntaxique atdans UML) en supposant qu’il y a un événement de début qui apparaît et à

par-31

tir du quel nous pouvons dire un événement e apparaît un temps T après cet événement. Par

32

exemple, si l’événement de début est t0 qui intervient au temps 0, alors la contrainteeat n(en

33

utilisant leatd’UML) sera traduite pareatnaftert0dans notre traduction. Cette sémantique

34

correspondra exactement à la sémantique utilisée dans UML avec l’élément syntaxiqueat.

Éléments nous [?] [?] [?] BasicUML punctuality √ √ √ √ maximumDelay √ √ √ minimumDelay √ √ √ √ latency √ √ √ √ sequence √ √ precedence √ √ simultaneity √ absolute date × × state √ Delay+sequence √ √ Delay+precedence √ √ punctuality+sequence √ √ √ punctuality+precedence √ others constraints √ Table 8.2 – Comparaison MARTE [?] 1

La gestion du temps présentée dans MARTE est différente de ce que nous considérons dans

2

cette thèse. MARTE base sa prise en compte du temps par la gestion des horloges physiques et

3

logiques et par la prise en compte de trois contraintes principales.

4

• Contraintes basées sur la coïncidence (Coincidence-based constraints)

5

• Contraintes basées sur la précédence (Precedence-based constraints)

6

• Combinaison des relations de coïncidence et de précédence (Mixed constraints)

7

Contraintes 8

Le Tableau 8.2montre que nous considérons dans notre travail les contraintes temporelles les

9

plus utilisés. Par exemple, notre représentation de la séquence en utilisant l’élément syntaxique

10

afterest équivalente à la clause 12 (CyclicTimedResponses) représentée dans [?] (le travail dans

11

[?] reprend le même esprit de la représentation des contraintes temporelles que celui dans [?]).

12

Nous sommes convaincu qu’il existe d’autres contraintes que nous ne considérons pas dans

13

nos annotations (comme par exemple la gestion des horloges et toutes les contraintes autour, etc.)

14

car nous souhaitons prendre en compte les contraintes les plus utilisés et garder notre syntaxe à

15

la fois simple et expressive.

Exemples : prise en compte des contraintes temporelles