Réserver une Démo
Pré. Proc.

Références croisées

Les références croisées sont une partie importante des transformations. Vous pouvez les utiliser pour :

  • Trouver la classe transformée avec laquelle se synchroniser
  • Créer des connecteurs entre les classes transformées
  • Spécifier un classificateur d'un type
  • Déterminer où se transformer pour les transformations futures
Chaque référence croisée comporte trois parties différentes :
  • Un Namespace , correspondant à la transformation qui a généré l'élément
  • Un nom, qui est une référence unique à quelque chose qui peut être généré dans la transformation, et
  • Une source, qui est le GUID de l'élément à partir duquel cet élément a été créé
Lors de l'écriture des gabarits d'une transformation, le plus simple est de générer les références croisées à l'aide de la macro définie à cet effet :

TRANSFORM_REFERENCE (<nom>, <sourceGuid>, <espace de noms>)

Les trois paramètres sont facultatifs. La macro génère une référence qui ressemble à ceci :

XRef{namespace="<namespace> " name="<name> " source="<sourceGuid> "

  • Si <name> n'est pas spécifié, la macro obtient le nom du gabarit actuel
  • Si <sourceGUID> n'est pas spécifié, la macro obtient le GUID de la classe actuelle
  • Si <namespace> n'est pas spécifié, la macro obtient le nom de la transformation actuelle
Le seul moment où une référence croisée doit être spécifiée est lors de la création d'un connecteur vers une classe créée dans une transformation différente.

Un bon exemple d'utilisation des références croisées est la transformation DDL fournie avec Enterprise Architect . Dans le gabarit de classe, une référence croisée est créée avec le nom « Tableau ». Ensuite, jusqu'à deux connecteurs différents peuvent être créés, chacun devant identifier les deux classes qu'il connecte à l'aide de références croisées, tout en ayant sa propre référence croisée unique.

Spécifier les classificateurs

Les objets, les attributs, les opérations et les paramètres peuvent tous faire référence à un autre élément du modèle en tant que type. Lorsque ce type est créé à partir d'une transformation, vous devez utiliser une référence croisée pour le spécifier, à l'aide de la macro :

TRANSFORM_CLASSIFIER (<nom>, <sourceGuid>, <espace de noms>)

Cette macro génère une référence croisée dans un élément classificateur, où les paramètres sont identiques à la macro TRANSFORM_REFERENCE mais le nom Classifier est généré à la place de XRef.

Si le classificateur cible existe déjà dans le modèle avant la transformation, TRANSFORM_CLASSIFIER est inapproprié, donc le GUID peut être donné directement à un attribut de classificateur.

Si un classificateur est spécifié pour un type, il remplace ce type.

Apprenez Plus