Transformations et profils de transformation (Profile)

Une transformation définit un jeu d'actions à exécuter lors d'une génération ou sur demande. Vous définissez une transformation dans la catégorie Profile d'une extension sur une métaclasse, sur un stéréotype ou sur un critère.

Vous définissez une transformation lorsque vous avez devez :

  • Modifier des objets dans un but particulier. Par exemple, vous pouvez créer une transformation dans un MOO qui convertit les classes <<control>> en composants.

  • Modifier des objets en conservant la possibilité de revenir sur cette modification. Cette fonctionnalité peut s'avérer très utile dans le cas d'une ingénierie par va-et-vient. Supposez que vous génériez un MPD à partir d'un MOO afin de créer une correspondance O/R. Si le MOO source contient des composants, vous pouvez créer des transformations qui convertissent des classes à partir de composants afin de générer facilement des tables dans un MPD et de les mettre en correspondance. Toutefois, lorsque vous mettez à jour le MOO source à partir du MPD généré, vous pouvez utiliser une autre transformation qui va automatiquement recréer les composants à partir des classes.

Les transformations peuvent être utilisées :

  • Dans un profil de transformation (voir Création d'un profil de transformation) lors de la génération de modèle, ou à la demande. Pour plus d'informations, voir Guide des fonctionnalités générales > Liaison et synchronisation de modèles > Mise en correspondance d'objets.

  • Sous forme de commande dans un menu défini par l'utilisateur (voir Menus (Profile))

Les transformations sont utilisées dans PowerAMC pour mettre en oeuvre une Model Driven Architecture (MDA, architecture orientée modèle). MDA est une démarche de développement proposée par l'OMG (Object Management Group) et qui sépare la logique métiers d'une application des moyens technologiques utilisés pour la mettre en oeuvre. Le but étant d'améliorer l'intégration et l'interopérabilité des applications et ainsi réduire le temps et les efforts passés dans le développement et la maintenance de l'application.

Le développement MDA utilise la modélisation UML pour décrire une application à différents niveaux de détails, en commençant par la construction d'un modèle libre de toute plate-forme (PIM, platform-independent model) qui permet de modéliser la fonctionnalité et la logique métiers de base, puis en finissant par un modèle lié à une plate-forme spécifique (PSM, platform-specific model) qui inclut les technologies d'implémentation (comme CORBA, .NET, ou Java). Entre le PIM initial et le PSM final, il peut y avoir d'autres PIM ou PSM intermédiaires qui fournissent différents niveaux d'amélioration.

PowerAMC permet de créer le PIM initial et de l'améliorer progressivement au travers de différents modèles contenant chacun des niveaux d'implémentation et d'information technologiques toujours plus élevés. Vous pouvez définir des transformations qui vont générer une version plus aboutie d'un modèle, basé sur la plate-forme cible désirée. Lorsque des changements sont effectués sur le PIM, ils peuvent être répercutés en cascade dans ses modèles générés.

Les transformations peuvent également être utilisées pour appliquer des motifs de modélisation à des objets dans le modèle.

  1. Pointez sur une métaclasse ou un stéréotype, cliquez le bouton droit de la souris, puis sélectionnez Nouveau > Transformation dans le menu contextuel.
  2. Saisissez les propriétés appropriées, incluant un script de transformation.