Chapter 4 Gestion des profils


Création d'une transformation

Lorsque vous créez une transformation, vous devez définir la fonction de transformation dans l'onglet Script de la transformation. L'onglet Script global est également disponible et permet de réutiliser des fonctions et sous-procédures.

Par défaut, l'onglet Script de la transformation affiche le script suivant :

Sub %Transformation%(obj, trfm)

obj représente l'objet dans le modèle pour lequel le script est exécuté ; trfm est un objet transformation interne qui sert à accéder à un jeu de fonctions helper dans le script.

Pour plus d'informations sur les fonctions helper, reportez-vous à la section "Méthodes helper de script pour les transformations".

Vérifications de script

Le script de transformation ne requiert pas autant de vérifications que les scripts standards. Dans un script standard, vous devez vérifier le contenu d'un modèle pour éviter les erreurs. Par exemple, un script qui crée et renomme un composant à partir d'une classe doit contenir un contrôle qui vérifie si le composant n'existe pas déjà dans le modèle.

Ces vérifications ne sont pas requises dans un script de transformation car les transformations sont toujours mises en oeuvre dans un modèle temporaire ne contenant aucun objet. Ce modèle temporaire sera ensuite fusionné avec le modèle cible de génération si l'option de conservation de modifications est activée lors de la mise à jour.

Si vous créez une transformation en utilisant un script existant, vous pouvez supprimer ces contrôles.

Objet transformation interne

Les objets transformation interne ne s'affichent pas dans l'interface de PowerAMC. Ils sont créés comme objets temporaires et passés au script de sorte que l'utilisateur puisse accéder aux fonctions helper mais aussi pour enregistrer l'exécution d'une séquence de transformations afin de pouvoir les exécuter ultérieurement.

Les objets transformation interne sont préservés lorsque les transformations sont utilisées par la fonctionnalité Appliquer les transformations ou dans un menu. En effet, lorsque vous mettez à jour un modèle (le régénérez) dans lequel ce type de transformations a été exécuté, les transformations doivent être exécutées à nouveau dans le modèle source afin de préserver l'équivalence entre les modèles source et cible.

Par exemple, MCD1 contient l'entité A, vous générez un MOO à partir de MCD1 et la classe B est créée. Vous appliquez des transformations à la classe B dans MOO1, ce qui crée la classe C. Vous souhaitez ensuite régénérer MCD1 et mettre à jour MOO1 : la classe B sera générée à partir de l'entité A mais la classe C est manquante dans le modèle généré, ce qui risquerait de se manifester par une différence dans la boîte de dialogue de fusion. Toutefois, grâce aux objets transformation interne, les transformations qui ont été exécutée dans le MOO généré sont ré-exécutées et vous obtenez la classe C et les modèles à fusionner sont encore plus similaires qu'avant.

Steps Pour créer une transformation :

  1. Pointez sur une métaclasse, un stéréotype ou un critère, cliquez le bouton droit de la souris et sélectionnez Nouveau→Transformation.

    Une transformation est créée.
  2. Saisissez un nom dans la zone Nom.
  3. (facultatif) Saisissez un commentaire dans la zone Commentaire.
  4. Saisissez le script dans l'onglet Script de la transformation.
  5. Cliquez sur Appliquer.

 


Copyright (C) 2005. Sybase Inc. All rights reserved.