Transformation de modèles et programmation par contraintes avec ATL C
Résumé
La transformation de modèles est l’un des piliers de l’ingénierie dirigée par les modèles. De nombreux outils de transformation de modèles existent et ont permis de démontrer la pertinence de cette approche. Cependant, peu d’entre eux permettent d’exprimer des préférences entre différentes solutions possibles d’une transformation. Plus généralement, ces outils ne permettent pas d’explorer l’ensemble des solutions possibles afin de sélectionner une solution optimale. Dans cet article, nous présentons ATL c qui permet de décrire des transformations contenant des contraintes
définissant ainsi un espace de modèles possibles en intention. Il est alors possible d’utiliser un (ou plusieurs) solveur(s) de contraintes pour explorer l’espace de modèles et sélectionner les solutions les meilleures. De telles transformations ne sont actuellement pas prises en compte par
les outils de transformation classiques. Nous développons un exemple combinant les solveurs Choco et Cassowary qui permet de générer la visualisation interactive d’un planning.