instanciées à partir d’un patron de celles ajoutées par le concepteur. La définition de ce
stéréotype est présentée dans la figure 4.11.
Figure4.11 : Définition du stéréotype << P atternOperation >>.
Ces stéréotypes ont les mêmes significations que les stéréotypes définis dans [Dong et al.,
2007] mais possèdent des propriétés différentes. En effet, à chaque stéréotype, nous associons
une valeur marquée dont le nom possède le format suivant : {PatternName, role}, où le
champ PatternName indique le nom du patron à partir duquel l’élément est instancié, et le
champ role indique le rôle joué par l’élément dans le patron.
Les stéréotypes << P atternAttribute >> et << P atternOperation >> peuvent être
source de confusion lorsque deux rôles d’attributs ou d’opérations définis dans des rôles
différents, de classes différentes portant le même nom, ce qui peut engendrer des problèmes de
la validation des instances de patrons. Pour cette raison, nous proposons d’ajouterClassName
pour les deux stéréotypes<< P atternAttribute >>et<< P atternOperation >>. Ainsi, ces
deux stéréotypes disposent de la valeur marquée suivante : {PatternName, ClassName.role}
pour indiquer que l’attribut ou l’opération est associée à la classe dont le nom dans le patron
est ClassName. L’information ClassName permet d’éviter les ambiguïtés lorsque deux rôles
d’attributs ou d’opérations définis dans deux classes différentes ont le même nom.
Stéréotype << ApplicationClass >>
Ce stéréotype étend la méta-classe Class. Il est utilisé pour indiquer explicitement qu’il
s’agit d’une classe spécifique ajoutée par le concepteur d’application lors de la modélisation
de son système. L’objectif d’utiliser ce stéréotype est d’ajouter plus de sémantique au modèle
et de faciliter sa validation. La définition de ce stéréotype est illustrée dans la figure 4.12.
Figure 4.12 : Définition du stéréotype<< ApplicationClass >>.
Stéréotype << PatternLifeline >>
Ce stéréotype constitue une extension de la méta-classeLifeline (c.f. Figure 4.13). Il vise à
marquer les objets instanciés à partir du diagramme de séquence d’un patron. Ce stéréotype
possède la même valeur marquée que le stéréotype<< P atternClass >>. Il a la même
signi-fication que le stéréotype défini dans [Rekhis et al., 2013a], où les auteurs se sont intéressés
uniquement aux objets et aux interactions d’un patron. Cependant, les messages constituent
des éléments essentiels du diagramme de séquence, qui sont considérés par les outils lors de
la validation des patrons. Pour cela, nous proposons le stéréotype << P atternM essage >>.
Mais, il n’est pas nécessaire de spécifier explicitement la correspondance entre les interactions
d’un patron de ceux spécifiques à une instance de ce patron ; il suffit de marquer les messages
et les objets associés à l’interaction, et par la suite elle sera identifiée directement.
Stéréotype << PatternMessage >>
Ce stéréotype constitue une extension de la méta-classeMessage. Il est utilisé pour
différen-cier explicitement les messages instanciés d’un patron de ceux ajoutés par le concepteur selon
les spécificités de l’application à modéliser. Ce stéréotype dispose de la même valeur marquée
que les stéréotypes << P atternClass >> et << P atternLif eline >>. La définition de ce
stéréotype est représentée dans la figure 4.14.
Figure4.13 : Définition du stéréotype << P atternLif eline >>.
Figure 4.14 : Définition du stéréotype<< P atternM essage >>.
Stéréotype << ApplicationLifeline >>
Ce stéréotype étend la méta-classe Lifeline. Il est utilisé pour indiquer explicitement qu’il
s’agit d’un objet spécifique ajouté par le concepteur d’application lors de la modélisation de
son système. La définition de ce stéréotype est illustrée par la figure 4.15.
Stéréotype << ApplicationMessage >>
Ce stéréotype étend la méta-classe Message. Il est utilisé pour indiquer explicitement qu’il
s’agit d’un message spécifique ajouté par le concepteur d’application lors de la modélisation
de son système. La définition de ce stéréotype est illustrée par la figure 4.16.
Figure 4.16 : Définition du stéréotype<< ApplicationM essage >>.
Les stéréotypes << ApplicationLif eline >> et << ApplicationM essage >> ont pour
objectif d’ajouter plus de sémantique aux éléments de l’instance du diagramme de séquence
du patron afin de faciliter sa validation.
L’ensemble des stéréotypes du profil UML-RTDB2, que nous proposons pour la
représen-tation des patrons de conception, ainsi que leurs relations avec les méta-classes d’UML 2.2
sont présentés dans la figure 4.17, qui représente la vue structurelle, et la figure 4.18, qui
représente la vue dynamique.
4.5 Définition des contraintes OCL
La représentation de la variabilité permet d’obtenir des patrons flexibles et
compréhen-sibles. Cependant, la définition des éléments optionnels et des points de variation peut être
une source d’incohérence pour les modèles. Par exemple, lorsqu’une classe non optionnelle
hérite d’une classe optionnelle, il est probable que le patron contienne une incohérence vu
que les éléments sont dépendants les uns des autres. Il nous a paru donc nécessaire de
vé-rifier pour chaque élément optionnel (respectivement obligatoire), que les éléments qui en
Dans le document
Contribution à la modélisation des applications temps réel d'aide à la conduite
(Page 119-124)