Contribution à l'étude des langages de transformation de modèles

Les techniques classiques de developpement logiciel consistent generalement en l'ecriture du code source d'un systeme par des programmeurs a partir d'une specification comportant des modeles. Ces derniers sont souvent des dessins qui ne peuvent pas etre traites automatiquement. On parle donc de modeles contemplatifs. L'ingenierie des modeles, dont le MDA (Model Driven Architecture) est une variante, est un nouveau paradigme de l'ingenierie du logiciel qui considere les modeles comme entites de premiere classe. Les modeles ne sont donc plus limites a la documentation d'un systeme mais peuvent faire partie de sa definition, au meme titre que le code source. Ainsi, des techniques de transformations de modeles peuvent etre mises en œuvre afin de generer automatiquement des parties du systeme a partir de modeles. Cette these contribue a faire avancer les connaissances sur l'ingenierie des modeles et en particulier sur la transformation de modeles. Trois langages sont proposes : un langage de metamodelisation appele KM3 (Kernel MetaMetaModel), un langage de transformation de programmes en modeles et modeles en programmes appele TCS (Textual Concrete Syntax) et un langage de transformation de modeles appele ATL (ATLAS Transformation Language). Une plateforme de modelisation appelee AMMA (ATLAS Model Management Architecture) basee sur ces trois langages est definie. Un ensemble de cas d'etudes implementes avec AMMA et couvrant differents domaines sont decrits.