• Aucun résultat trouvé

avec les différents besoins temporels qui sont considérés dans cette thèse.

2

Figure8.1 – Nouvelle classification des besoins temporels

Comme la Figure 8.1 le montre nous considérons les contraintes temporelles vis-à-vis des

3

événements mais également dans les états. La classification (présente dans laFigure 8.1) comporte

4

deux types de contraintes : contraintes quantitatives (contraintes temporelles) et contraintes

5

qualitatives (contraintes logiques). La première partie permet de représenter le délai (minimum

6

et maximum), la ponctualité ainsi que la latence. La seconde partie permet de représenter la

7

séquence et la précédence entre événements. La représentation des contraintes temporelles

vis-8

à-vis les événements est faite en utilisant les deux parties. En revanche, la représentation des

9

contraintes temporelles dans les états est faite en utilisant uniquement la première partie

(c’est-10

à-dire les contraintes quantitatives).

11

Nous présentons dans ce qui suit la syntaxe et la sémantique basée sur cette classification.

12

Nous présentons également la combinaison des contraintes qualitatives et des contraintes

quan-13

titatives.

14

Syntaxe et sémantique des annotations temporelles

15

Nous présentons dans cette sous-section la syntaxe/sémantique correspondantes à la

classi-16

fication que nous proposons dans le cadre de cette thèse. Nous illustrons cette syntaxe par une

17

grammaire (voir la Figure 8.4) avec sa description. Nous accompagnons cette grammaire par le

18

Tableau 8.1qui comporte les différents terminaux utilisés.

19

Nous avons besoins de définir certains concepts que nous utiliserons pour la description de

20

notre syntaxe comme suit. Soit S1 et S2 deux états et soit Transit une transition entre S1 et

21

S2. L’état S1 comporte un comportement do noté doexp. E est l’événement qui étiquette la

22

transitionTransit. Ces éléments seront utilisés pour l’explication des différentes annotations du

23

Tableau 8.1. Deux points à noter :

24

• Les temps utilisés dans notre syntaxe (par exemple,E at T) sont des temps relatifs et les

25

intervalles pour l’évaluation des contraintes sont fermés.

26

• L’événement dans une transition est enrichi par une contrainte temporelle, donc c’est

27

toujours l’événement tout à gauche de la contrainte qui est celui de la transition.

28

Notre choix de la classification proposée dans la Figure 8.1 est basé sur la gestion des

29

contraintes temporelles portant sur les événements (mais également sur les états voirSection 8.3.3).

Chaque événement peut apparaître au plus T unités de temps (at_most), au minimum T d’unités

1

de temps (at_least), exactement T unités de temps (at), ou bien en séquence/précédence avec

2

d’autres événements (after,before). Il faut noter que la contrainte temporelle est vérifiée pour

3

un événement donné dans le cas où l’état source de la transition étiquetée par l’événement (sous

4

cette contrainte) est actif (c’est-à-dire l’état dans lequel se trouve le système). Donc le temps est

5

mesuré à partir du moment où l’état source de la transition est actif. Dans le cas où la transition

6

a comme source un pseudo-état join alors il faut que tous les états sources des transitions allant

7

vers le pseudo-état join soient actifs afin que la contrainte de la transition puisse être évaluée.

8

En se basant sur cette classification, nous définissons les annotations suivantes (Tableau 8.1).

9

Éléments Annotation Contrainte

punctuality at Quantitative

maximumDelay at_most Quantitative

minimumDelay at_least Quantitative

latency between Quantitative

sequence after Qualitative

precedence before Qualitative

Table 8.1 – Syntaxes des terminaux utilisés dans la grammaire de la Figure 8.4

Afin d’exprimer la sémantique informelle de chaque annotation syntaxique présentée dans le

10

Tableau 8.1, nous présentons dans ce qui suit la description annotation :

11

• Dans le cas de at : E at T, c’est-à-dire l’événement E apparaît exactement T unités

12

de temps après l’activation de l’état source de cette transition étiquetée par l’événement

13

E. Dans le cas où l’événement E n’apparaît pas exactement T unités de temps après

14

l’activation de l’état S1, la contrainte ne sera pas satisfaite. Nous avons également doexp 15

atT, c’est-à-dire l’exécution du comportement do doit se terminer exactementT unité de

16

temps après l’activation de l’état concerné par le comportement do.

17

• Dans le cas de at_most : E at_most Tmax, c’est-à-dire l’événement E apparaît au plus

18

Tmax unités de temps après l’activation de l’état source de cette transition. Dans le cas

19

du comportement do, nous avons doexp at_most Tmax, c’est-à-dire l’exécution du

com-20

portement do doit se terminée au plus Tmax unités de temps après l’activation de l’état

21

concerné par le comportement do.

22

• Dans le cas de at_least : E at_least Tmin, c’est-à-dire l’événement E apparaît au

23

minimumTminunités de temps après l’activation de l’état source de cette transition. Nous

24

avons également doexp at_most Tmin, c’est-à-dire l’exécution du comportement do doit

25

se terminer au minimum Tmin unités de temps après l’activation de l’état concerné par le

26

comportement do.

27

• Dans le cas de between :E between [Tmin, Tmax], c’est-à-dire l’événement E apparaît au

28

minimumTminunités de temps et au plusTmaxunités de temps après l’activation de l’état

29

source de cette transition. Dans le cas du comportement do, nous avons doexp between

30

[Tmin, Tmax], c’est-à-dire l’exécution du comportement do doit se terminer au minimum

31

Tmin unités de temps et au plusTmax unités de temps après l’activation de l’état concerné

32

par le comportement do.

33

• Dans le cas de after:E2 afterE1 (où E2 est l’événement de la transition enrichi par la

34

contrainte), c’est-à-dire l’événementE2 apparaît après l’événementE1. La sémantique que

nous considérons par rapport auafterest que pour chaque occurrence de l’événementE1

1

on peut avoir au plus une occurrence de l’événement E2.

2

Afin d’expliquer la sémantique que nous considérons pour l’élément syntaxique after (le

3

même principe sera pour l’élément syntaxique before), nous présentons l’exemple de la

4

Figure 8.2. Dans cet exemple, l’occurrence de l’événement e1 est conditionnée par

l’occur-5

rence de l’événement e2. Nous présentons les séquences de franchissement de transitions

6

possibles et impossibles que nous autorisons ou interdisons.

7

– La séquence d’occurrence d’événementse1 e2 e1 e2 best autorisée car pour chaque

oc-8

currence de l’événemente1il est possible de franchir une transition ayant la contrainte

9

e2 af ter e1 (autrement dit avoir une occurrence de l’événement e2). La séquence

10

d’occurrence d’événements suivantee1e2 e1 e1 e1 e2 best également autorisée car on

11

considère la dernière occurrence de l’événement e1.

12

– La séquence d’occurrence d’événementse1 e2 e2 bn’est pas autorisée car la première

13

occurrence e1 permet l’occurrence e2, par contre la seconde occurrence e2 n’est pas

14

autorisée car il n’y a eu aucune occurrence de l’événement e1.

15

Un cas particulier que nous avons remarqué dans cet exemple est la présence d’une situation

16

d’inter-blocage dans le cas où l’événementbn’apparaît pas, que l’événement e1n’apparaît

17

qu’une fois. Cette situation implique que la transition entre l’état S12 et l’état S13 peut

18

être franchie par contre le reste des transitions non.

19

• Dans le cas debefore:E1beforeE2(oùE1 est l’événement de la transition enrichi par la

20

contrainte), c’est-à-dire si l’événementE2 apparaît, alors il y a l’occurrence de l’événement

21

E1 avant au moins une fois. Nous illustrons la sémantique du before avec un exemple

22

et nous présentons les séquences de transitions autorisées. Dans la Figure 8.3 un exemple

23

diagramme états-transitions utilisant l’élément syntaxique before. Dans ce qui suit les

24

séquences de transitions autorisées et non autorisées avec un cas d’inter-blocage.

25

– La séquence d’occurrence d’événementse2, e1, e2, e1, best autorisée car pour chaque

26

occurrence de l’événemente1 il y a eu une occurrence de l’événemente2.

27

– La séquence d’occurrence d’événementse2, e1, e1, e1, b n’est pas autorisée car afin

28

que la deuxième occurrence de e1 soit possible il est nécessaire que e2 soit apparu

29

avant au moins une fois.

30

– Dans le cas où l’événement b n’apparaît pas et dans le cas où on a la séquence de

31

transitions e2, e2, e1, alors on ne peut plus franchir de transitions car l’événement

32

e1 ne peut apparaître que si l’événement e2 apparaît juste avant.

33

Il est nécessaire que cette contrainte soit évaluée au moment où l’étatS1 est actif.

34

Remarques Une remarque à prendre en compte est la non présence des contraintes

tempo-35

relles exprimées avec les éléments syntaxiques afteretbeforedans les états. Nous considérons

36

que l’exécution du comportement do ne dépend pas de l’occurrence des événements mais dépend

37

de son temps d’exécution.

38

Nous présentons dans ce qui suit la grammaire représentant l’expressivité de la syntaxe que

39

nous proposons au-dessus (voirFigure 8.4).

Figure 8.2 – Exemple d’explication pour l’élément syntaxiqueafter

Figure8.3 – Exemple d’explication pour l’élément syntaxique before

Description de la grammaire 1

Nous décrivons dans ce qui suit les différentes clauses de la grammaire proposée dansFigure 8.4.

2

Nous supposons qu’il y a contrainte pour préciser que la clause EventExpo est destinée pour les

3

expressions temporelles concernant les événements et que la clause StateExp est destinée pour

4

les expressions temporelles concernant les états.

5

• val est une variable avec une valeur rationnelle représentant une valeur temporelle.

6

• e,e1 ete2 sont des événements.

7

• TimeExp : := EventExp | StateExp, une expression temporelle (TimeExp) qui peut être :

8

(i) EventExp une expression temporelle par rapport aux événements (ii) StateExp une

9

expression temporelle par rapport aux comportements do des états.

10

• EventExp : := e TimedAnnotation | e LogicalAnnotation | e CombinationAnnotation, une

11

expression temporelle par rapport aux événements qui peut être : (i)TimedAnnotation une

12

annotation temporelle qui utilise des contraintes quantitatives (c’est-à-dire at,at_least,

13

etc) (ii) LogicalAnnotation une annotation logique qui utilise des contraintes qualitatives

• a at_least 5 représente une expression temporelle pour les événements. Cette

expres-1

sion est incluse dans la clause EventExp : := e TimedAnnotation. Le diagramme

états-2

transitions de la Figure 8.5 comporte d’autres expressions incluses dans la même clause,