• Aucun résultat trouvé

2 <time−event> : : = <r e l a t i v e−time−event> | <a b s o l u t e−time−event>

3 <r e l a t i v e−time−event> : : = ’ a f t e r ’ <time−e x p r e s s i o n >

4 <a b s o l u t e−time−event> : : = ’ at ’ <time−e x p r e s s i o n >

Figure 3.2 – Grammaire de la classification temporelle proposée dans Figure 8.1

MARTE pour UML

1

Introduction 2

MARTE [?] est une extension du langage de modélisation UML, créée par l’OMG, pour

3

prendre en considération les systèmes temps réel et embarqués (STRE). Le changement le plus

4

important dans cette extension est le profil UML qui a été remplacé par le profil MARTE. Ce

5

nouveau profil apporte un support pour la spécification, la vérification, la validation ainsi que la

6

conception des STRE. Le bénéfice apporté par cette extension est donc :

7

• Avoir une manière commune de modéliser les systèmes temps réel et embarqués.

8

• Permettre l’interopérabilité entre les différents outils de développement utilisés pour la

9

spécification/vérification des STRE.

10

• Favoriser la conception de modèles qui peuvent être utilisés pour faire des prédictions

11

quantitatives concernant le temps réel et les caractéristiques des systèmes embarqués.

l’ancien profil UML SPT (UML profile for schedulability, performance and time) qui prenait

1

en considération le temps mais avec des aspects limités. L’ancien profil prend en compte la

2

notion de temps/ressources quantifiables, cela permet d’annoter le model avec des informations

3

quantitatives concernant le temps, les performance et l’analyse de l’ordonnançabilité. L’ancien

4

profil ne considère que le temps chronométrique (physique) sous forme de durée et d’instant afin

5

de modéliser les événements dans le temps. Dans MARTE le temps peut être physique (discrétisé

6

ou dense) ou bien logique (lié à des horloges définies par l’utilisateur).

7

La structure du temps prise en considération par MARTE est basé sur TimeBase tel que

8

montré dans la Figure 3.5.

9

Figure 3.5 – La structure du temps dans MARTE ([?]).

TimeBase est un ensemble ordonné d’instants qui peut être dense ou discrétisé. Plusieurs

10

bases existent afin de représenter le cas d’applications distribuées. Ces bases peuvent être

dépen-11

dantes dans le cas où leurs instants sont liés par des relations de coïncidence ou de précédence.

12

TimeBase représente la structure du temps, cependant pour y accéder au temps MARTE

13

utilise un autre concept : l’horloge.L’horloge (clock) est un élément du modèle donnant accès à

14

la structure du temps (qui peut être logique, physique ou les deux). Chaque horloge fait référence

15

à la base du temps et à ses instants (indirectement). Comme montré dans laFigure 3.6l’horloge

16

possède plusieurs attributs qui définissent sa nature ainsi que d’autres éléments nécessaires à sa

17

représentation.

18

L’attribut nature définit la nature de l’horloge et donc des instants (dense ou discrétisé).

19

L’attribut resolution définit la granularité de lecture de l’horloge et origin donne le décalage

20

possible dans la lecture de l’horloge. L’horloge accepte l’unité (une propriété non fonctionnelle

21

dans MARTE) et nous pouvons lui associer un événement qui apparaîtra à chaque changement

22

dans cette horloge. Selon la nature du temps nous distinguons deux types d’horloges :

23

• L’horloge logique peut être définie par n’importe quel événement tel que, à chaque

appa-24

rition de l’événement, l’horloge change. Le temps est logique et il est calculé en se basant

25

sur le nombre de ticks (une unité est prédéfinie par défaut pour les horloges logiques).

26

• L’horloge chronométrique fait référence au temps physique. Nous pouvons attacher à ces

27

horloges des informations quantitatives si nécessaire.

Figure3.6 – L’horloge dans MARTE ([?]).

Un autre concept dans MARTE est la spécification de la valeur du temps TimeValue et

1

deux notions sont proposées :InstantValue etDurationValue. Tel que montré dans laFigure 3.7,

2

pour chaque horloge une valeur de temps (TimeValue) est associée. Cette association permet de

3

définir l’unité correspondante à l’horloge, ses instants ainsi que ses durées. L’attribut nature de

4

TimeValue permet de définir la nature du temps associé à l’horloge dans le cas d’un domaine

5

discrétisé ou dense.

6

Figure3.7 – TimeValue dans MARTE ([?]).

Comme mentionné précédemment, chaque horloge logique peut être liée à un événement mais

7

aussi à un comportement. L’occurrence d’un événement peut être représentée par des points du

8

temps (des instants) et l’exécution d’un comportement peut être représentée par des instants de

9

début et de fin ou une durée d’exécution. Comme le montrent les Figure 3.8a et Figure 3.8b,

10

TimedEvent etTimedProcessing sont deux concepts qui permettent la représentation des

événe-11

ments et des comportements avec du temps (indirectement avec les horloges).

12 13

Les différents concepts décrits ci-dessus sont représentés dans MARTE par un ensemble de

14

stéréotypes. Chaquestéréotype va permettre l’utilisation des différents concepts dans la

modéli-15

sation du temps mais aussi de permettre à l’utilisateur de définir ses propres horloges en utilisant

16

la bibliothèque TimeLibrary.

17

La Figure 3.9présente un exemple de diagramme états-transitions pour le cycle du moteur

18

à quatre temps et une définition de l’horloge associée.

19

Dans la Figure 3.9a la définition de l’horloge qui va être utilisée pour la représentation du

20

temps AngleClock. Cette horloge reprend les attributs du stéréotype de base clockType et elle

21

prend comme unité AngleUnitKind (une unité définie par l’utilisateur). Les deux stéréotypes

(a) TimedEvent dans MARTE

(b) TimedProcessing dans MARTE

Figure 3.8 – Liaison du temps avec l’événement et le comportement

camClk et crkClk sont des instances de l’horloge principale avec des valeurs pour les attributs

1

de bases.

2

Dans laFigure 3.9ble diagramme états-transitions est stéréotypé d’une part timedProcessing 3

afin de lier le temps aux comportements (on parle de temps logique donc d’horloges logiques) et

4

d’autre part camClk pour préciser l’horloge qui sera utilisée pour représenter le temps.

5

Le travail dans [?] étend MARTE avec un langage de spécification de contraintes d’horloges

6

appelée CCSL (Clock Constraint Specification Language). Le langage CCSL est une part du

7

profile MARTE mais qui n’est pas un standard. Il comprend une syntaxe pour la représentation

8

graphique des différents éléments d’UML et une sémantique formelle. CCSLpermet de spécifier

9

dans le cadre d’UML, des contraintes aussi bien de temps chronométrique que de temps logique.

10

L’auteur propose deux notations visuelles alternatives pour la représentation des contraintes afin

11

d’obtenir des diagrammes plus compacts.

(a) Les stéréotypes de l’horloge utilisée

(b) Diagramme états-transitions du moteur à quatre temps

Figure 3.9 – Exemple d’utilisation du temps en MARTE dans les diagrammes états-transitions

Transformation des diagrammes états-transitions vers les réseaux