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.

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

FIGURE 2.11: C<strong>la</strong>sses <strong>de</strong> transformations dans <strong>la</strong> définition d’un DSML [Kle06]<br />

2.3.1 Historique<br />

Les travaux réalisés dans le domaine <strong>de</strong> <strong>la</strong> transformation <strong>de</strong> modèle ne sont<br />

pas récents <strong>et</strong> peuvent être chronologiquement c<strong>la</strong>ssés selon plusieurs générations<br />

en fonction <strong>de</strong> <strong>la</strong> structure <strong>de</strong> donnée utilisée <strong>pour</strong> représenter le modèle [Béz03] :<br />

– Génération 1 : Transformation <strong>de</strong> structures séquentielles d’enregistrement.<br />

Dans ce cas un script spécifie comment un fichier d’entrée est réécrit en un fichier<br />

<strong>de</strong> sortie (p. ex. <strong>de</strong>s scripts Unix, AWK ou Perl). Bien que ces systèmes<br />

soient plus lisibles <strong>et</strong> maintenables que d’autres systèmes <strong>de</strong> transformation,<br />

ils nécessitent une analyse grammaticale du texte d’entrée <strong>et</strong> une adaptation<br />

du texte <strong>de</strong> sortie [GLR + 02, Béz03].<br />

– Génération 2 : Transformation d’arbres. Ces métho<strong>de</strong>s perm<strong>et</strong>tent le parcours<br />

d’un arbre d’entrée au cours duquel sont générés les fragments <strong>de</strong><br />

l’arbre <strong>de</strong> sortie. Ces métho<strong>de</strong>s se basent généralement sur <strong>de</strong>s documents<br />

au format XML <strong>et</strong> l’utilisation <strong>de</strong> XSLT 12 ou XQuery 13 .<br />

– Génération 3 : Transformation <strong>de</strong> graphes. Avec ces métho<strong>de</strong>s, un modèle<br />

en entrée (graphe orienté étiqu<strong>et</strong>é) est transformé en un modèle en sortie.<br />

Ces approches visent à considérer l’ « opération » <strong>de</strong> transformation comme<br />

un autre modèle (cf. figure 2.12) conforme à son propre métamodèle (luimême<br />

défini à l’ai<strong>de</strong> d’un <strong>la</strong>ngage <strong>de</strong> métamodélisation, par exemple le<br />

MOF). La transformation d’un modèle Ma (conforme à son métamodèle<br />

MMa) en un modèle Mb (conforme à son métamodèle MMb) par le modèle<br />

Mt peut donc être formalisée <strong>de</strong> <strong>la</strong> manière suivante :<br />

Mb ∗ ← f(MMa ∗ , MMb ∗ , Mt, Ma ∗ )<br />

12. XSL (eXtensible StyleShe<strong>et</strong> Language) Transformation, cf. http://www.w3.org/TR/xslt.<br />

13. An XML Query Language, cf. http://www.w3.org/TR/xquery/.

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

Saved successfully!

Ooh no, something went wrong!