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
- 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éé
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
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.