Transformation de modèle à modèle appliquée aux modèles qui contiennent des références croisées - Configuration de l'exemple

Cet exemple illustre deux techniques de gestion des références croisées lorsque vous transformez un modèle.
Avant de commencer
Pour installer et configurer les ressources de l'exemple, reportez-vous à la rubrique "Transformation de modèle à modèle appliquée aux modèles qui contiennent des références croisées - Instructions de configuration".

Transformer des références croisées lorsque l'élément référencé n'est pas transformé

Pourquoi et quand exécuter cette tâche
  1. Dans la vue Explorateur de projets du plan de travail d'exécution, développez la branche du projet source, puis la branche Modèles et enfin la branche Source1 ; développez ensuite les classes A et B. Chaque classe a un attribut dont le type se trouve être l'autre classe dans le même package.
  2. Développez la branche du projet cible et faites un double clic sur le fichier de configuration de transformation nommé transform source1 to target1.tc.
  3. Dans l'éditeur de configuration de transformation, cliquez sur Exécuter.
  4. Dans le projet cible, développez la branche Modèles, puis la branche Target1 ; développez ensuite les interfaces IA et IB (elles ont été générées par la transformation à partir des classes A et B). Notez que le type de chaque attribut est l'interface dans le modèle cible qui correspond à la classe dans le modèle source.
  5. Dans le projet source, développez Source2. Ce dossier contient un package avec une seule classe, nommée C, qui a un attribut dont le type est une classe dans l'autre modèle d'entrée, la classe A dans Source1 (package P1). Cette référence croisée est le vif du sujet de notre exemple.
  6. Dans le projet cible, faites un double clic sur le fichier de configuration de transformation transform source2 to target2.tc.
  7. Dans l'éditeur de configuration de transformation, cliquez sur Exécuter.
  8. Dans le projet cible, développez la branche Modèles, puis la branche Target2 et enfin la branche de l'interface IC, qui a été générée par la transformation à partir de la classe C. Le type de l'attribut dans le modèle cible généré est le même que ce qu'il était dans le modèle d'entrée : classe A dans Source1. Cette absence de changement vient du fait que la transformation de Source2 vers Target2 n'a pas d'informations sur la transformation de Source1 vers Target1.
Résultats
Si, comme dans le présent exemple, vous transformez plusieurs modèles contenant des références entre eux que vous souhaitez mettre à jour pour les faire pointer sur les objets correspondants, vous ne pouvez pas les transformer l'un après l'autre. Vous devez les transformer en même temps. La section suivante indique comment procéder.
Remarque : Si le modèle qui contient l'élément référencé n'est pas supposé être transformé, ce qui signifie que la référence croisée est statique, vous n'avez pas besoin de suivre les instructions ci-après. Vous pouvez vous contenter de transformer le modèle qui contient l'élément référençant, comme vous le faites habituellement. Ces instructions concernent uniquement le cas où la cible de la référence croisée doit être transformée.

Transformer des références croisées lorsque l'élément référencé et l'élément référençant doivent tous deux être transformés

Pourquoi et quand exécuter cette tâche
  1. Dans la vue Explorateur de packages, développez le projet cible et faites un double clic sur le fichier de configuration de transformation nommé transform source1 and source2 to target1 and target2.tc.
  2. Dans l'éditeur de configuration de transformation, cliquez sur l'onglet Source et cible. Notez que la source spécifiée ici est Source1.emx et que la cible est Target1.emx, tout comme dans la transformation transform source1 to target1.tc.
  3. Dans l'éditeur de configuration de transformation, cliquez sur l'onglet Sources et cibles de transformation auxiliaires. La source et la cible auxiliaires spécifiées ici sont respectivement Source2.emx et Target2.emx. Lorsque vous exécutez la transformation, le modèle Source2.emx est transformé au même titre que Source1.emx.
  4. Dans l'éditeur de configuration de transformation, cliquez sur l'onglet Principal, puis sur Exécuter.
  5. Examinez Target1. Son contenu est identique à ce qu'il était après l'exécution de la précédente transformation.
  6. Examinez Target2. Dans l'interface IC générée, l'attribut a maintenant le type IA, qui est bien l'interface dans le modèle cible correspondant à la classe initialement référencée, c'est-à-dire la classe A dans le modèle source.
Information associée
Transformation de modèle à modèle appliquée aux modèles qui contiennent des références croisées - Instructions de configuration

Vos commentaires