15.05.2015 Views

Approche de métamodélisation pour la simulation et la vérification ...

Approche de métamodélisation pour la simulation et la vérification ...

Approche de métamodélisation pour la simulation et la vérification ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

44 CHAPITRE 2. L’INGÉNIERIE DIRIGÉE PAR LES MODÈLES<br />

Re<strong>la</strong>tions<br />

Operational<br />

Mappings<br />

Re<strong>la</strong>tionsToCore<br />

Transformation<br />

B<strong>la</strong>ck<br />

Box<br />

Core<br />

FIGURE 2.13: Architecture du standard QVT [OMG08]<br />

modèles <strong>de</strong> transformation. Nous citerons par exemple ATL (ATLAS Transformation<br />

Language) [JK05] que nous utilisons tout au long <strong>de</strong> c<strong>et</strong>te thèse. Il s’agit d’un<br />

<strong>la</strong>ngage hybri<strong>de</strong> (déc<strong>la</strong>ratif <strong>et</strong> impératif) qui perm<strong>et</strong> <strong>de</strong> définir une transformation<br />

<strong>de</strong> modèle à modèle (appelée Module) sous <strong>la</strong> forme d’un ensemble <strong>de</strong> règle. Il<br />

perm<strong>et</strong> également <strong>de</strong> définir <strong>de</strong>s transformations <strong>de</strong> type modèle vers texte (appelée<br />

Query). Une transformation prend en entrée un ensemble <strong>de</strong> modèles (décrits à<br />

partir <strong>de</strong> métamodèles en Ecore ou en KM3).<br />

Afin <strong>de</strong> donner un cadre normatif <strong>pour</strong> l’imp<strong>la</strong>ntation <strong>de</strong>s différents <strong>la</strong>ngages<br />

dédiés à <strong>la</strong> transformation <strong>de</strong> modèle, l’OMG a défini le standard QVT (Query/-<br />

View/Transformation) [OMG08]. Le métamodèle <strong>de</strong> QVT est conforme à MOF <strong>et</strong><br />

OCL est utilisé <strong>pour</strong> <strong>la</strong> navigation dans les modèles. Le métamodèle fait apparaître<br />

trois sous-<strong>la</strong>ngages <strong>pour</strong> <strong>la</strong> transformation <strong>de</strong> modèles (cf. figure 2.13), caractérisés<br />

par le paradigme mis en œuvre <strong>pour</strong> <strong>la</strong> définition <strong>de</strong>s transformations (déc<strong>la</strong>ratif,<br />

impératif <strong>et</strong> hybri<strong>de</strong>). Les <strong>la</strong>ngages Re<strong>la</strong>tions <strong>et</strong> Core sont tous <strong>de</strong>ux déc<strong>la</strong>ratifs<br />

mais p<strong>la</strong>cés à différents niveaux d’abstraction. L’un <strong>de</strong>s buts <strong>de</strong> Core est <strong>de</strong> fournir<br />

une base <strong>pour</strong> <strong>la</strong> spécification <strong>de</strong> <strong>la</strong> sémantique <strong>de</strong> Re<strong>la</strong>tions. La sémantique<br />

<strong>de</strong> Re<strong>la</strong>tions est donnée comme une transformation <strong>de</strong> Re<strong>la</strong>tions vers Core. Il est<br />

parfois difficile <strong>de</strong> définir une solution complètement déc<strong>la</strong>rative à un problème<br />

<strong>de</strong> transformation donné. Pour adresser c<strong>et</strong>te question, QVT propose <strong>de</strong>ux mécanismes<br />

<strong>pour</strong> étendre Re<strong>la</strong>tions <strong>et</strong> Core : un troisième <strong>la</strong>ngage appelé Operational<br />

Mappings <strong>et</strong> un mécanisme d’invocation <strong>de</strong> fonctionnalités <strong>de</strong> transformation<br />

implémentées dans un <strong>la</strong>ngage arbitraire (boîte noire ou b<strong>la</strong>ck box). Operational<br />

Mappings étend Re<strong>la</strong>tions avec <strong>de</strong>s constructions impératives <strong>et</strong> <strong>de</strong>s constructions<br />

OCL avec eff<strong>et</strong>s <strong>de</strong> bord.<br />

2.4 Discussion <strong>et</strong> synthèse<br />

Nous avons introduit dans ce chapitre les principes généraux <strong>de</strong> l’IDM, c’està-dire<br />

<strong>la</strong> métamodélisation d’une part <strong>et</strong> <strong>la</strong> transformation <strong>de</strong> modèle d’autre part.<br />

Ces <strong>de</strong>ux axes constituent les <strong>de</strong>ux problématiques clé <strong>de</strong> l’IDM sur lesquelles <strong>la</strong><br />

plupart <strong>de</strong>s travaux <strong>de</strong> recherche se concentrent actuellement.<br />

Les premiers résultats en métamodélisation ont permis d’établir les concepts<br />

(modèle <strong>et</strong> métamodèle) <strong>et</strong> re<strong>la</strong>tions (représentationDe <strong>et</strong> conformeA) <strong>de</strong> base dans

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!