Transformation de Modèles et Contraintes pour l’Ingénierie Dirigée par les Modèles
Résumé
Dans le contexte de l'ingénierie dirigée par les modèles, la transformation de modèles est une technique puissante et générique qui produit des modèles cibles à partir de modèles sources. A partir d'un modèle source donnée, les approches classiques de transformation sélectionnent et renvoient généralement un modèle unique parmi tous les modèles conformes au métamodèle cible.
A cause de cela, ces approches ne sont pas adaptées aux situations où le choix du modèle cible peut bénéficier de l'optimisation ou de l'apport de l'utilisateur.
Dans cet article, nous proposons une approche qui combine la transformation de modèles avec la programmation par contraintes et l'optimisation pour transformer chaque modèle source en un ensemble de modèles cibles. Les utilisateurs peuvent ensuite les explorer à l'aide d'un solveur. Notre approche est basée sur le concept de variables ponts, qui est un nouveau mécanisme permettant de faire le pont entre un moteur de
transformation et un solveur de contraintes. Nous présentons également un langage dédié à l'écriture de telles transformations couplées à des contraintes. Cette approche a été validée en l'appliquant à la visualisation de modèles graphiques.