Cette possibilité offre l'intérêt de pouvoir internationaliser un DSL. On peut donc, pour des raisons techniques (ou de conventions par exemple) définir son DSL ( les stéréotypes et les propriétés de stéréotypes) en anglais et en avoir une représentation en français dans le modeleur (MagicDraw dans le cas présent).
Libellés sur les stéréotypes
Lorsqu'on crée un stéréotype et qu'on l'applique sur une classe, par défaut, cette classe va être représentée comme étant une Class <<stereotype>>.
Par exemple, si je crée un stéréotype <<DomainObject>> et que je l'applique sur ma classe "Product". Et si je crée un stéréotype <<IdDomainAttribute>> que j'applique sur l'attribut de ma classe "Product", je vais obtenir ceci :
Voici les étapes à suivre :
- Créer une nouvelle Classe DomainObjectCustomization (ici le nom a peu d'importance, mais par convention, il est préférable de la suffixer par Customization)
- Appliquer un stéréotype <<Customization>> sur cette classe
- Editer les propriétés de la classe DomainObjectCustomization, puis renseigner "Hide Metatype" à true.
- Renseigner Customization Target à DomainObject
- Renseigner le Representation Text à "Domain".
- Renseigner le keyword à "Domain"
- Créer une nouvelle Classe IdDomainAttributeCustomization
- Appliquer un stéréotype <<Customization>> sur cette classe
- Editer les propriétés de la classe IdDomainAttributeCustomization, puis renseigner Hide Metatype à true.
- Renseigner Customization Target à "IdDomainAttribute"
- Renseigner le Representation Text à "ID".
- Renseigner le "keyword" à "ID"
En redémarrant (ou en rechargeant le modèle), on obtiendra les changement suivants :
Dans les spécifications, on voit maintenant apparaître Product comme étant un Domain et non plus comme une classe.
Pour info,
Hide Metatype permet de ne plus considérer Product comme une Class <<Domain>> mais comme un Domain.
Representation Text, comme son nom l'indique, permet de changer le texte de représentation du stéréotype. Une sorte d'alias qui sera utilisé dans la fenêtre des spécifications par exemple. Sauf que cette valeur n'est pas prise en compte dans le diagramme.
Keyword, comme son nom ne l'indique pas (du tout), permet de changer le texte de représentation du stéréotype dans le diagramme.
Libellés des propriétés de stéréotype
Dans l'exemple ci dessous, je définie une propriété du stéréotype "ServiceInterface" appelé "secured". Sans customisation, quand j'édite les propriétés sur une classe stéréotypée "ServiceInterface", le libellé a le même nom que celui indiqué dans le profil.
Mais il est possible de customiser le libellé, pour, par exemple, l'afficher en français.
Les étapes à suivre pour mettre en place cette customisation :
- Ouvrir la customisation du profile pour l'élément concerné. Ici j'édite la customisation de "ServiceInterface" que j'ai nommé "ServiceInterfaceCustomization" :
- clic droit dessus, puis "Nouvel Élément" -> "Propriété"
- Le nom de la propriété doit avoir le même nom que la propriété du stéréotype. Dans mon exemple, la propriété s'appelle "secured".
- Éditer les valeurs de customisation de la propriété nouvellement créée, puis appliquer un stéréotype <<metaProperty>>
- Indiquer dans la valeur "New name" le nom qui sera dorénavant affiché pour cette propriété.
Pour aller plus loin, la documentation officielle de Magic Draw sur le profiling et les DSL
Bonsoir,
RépondreSupprimerje voudrais savoir s'il vous plait a propos de cet article. dans ce cas de figure est ce qu'on peut dire que la DSL sans les stéréotypes représente un CIM et la DSL avec stéréotypes représente un PIM ?
aussi y'aurait il un autre modeleur possédant ces mêmes fonctionnalités (permettre de créer des DSL graphiquement et leurs assigner des stéréotypes) mais gratuit ?
Au plaisir de vous lire
Hi nice rreading your post
RépondreSupprimer