• Aucun résultat trouvé

Ce stéréotype étend la méta-classe Operation . Il est utilisé pour différencier les opérations

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

Documents relatifs