Gagne de la cryptomonnaie GRATUITE en 5 clics et aide institut numérique à propager la connaissance universitaire >> CLIQUEZ ICI <<

7.1.4.2 Query Views Transformations (QVT)

Non classé

QVT devait répondre aux propositions de l’OMG QVT Request For Proposal (Object Management
Group 2002b) dont voici les principales exigences (Combemale et al. 2007) :

· normaliser un moyen d’exprimer des correspondances (transformations) entre langages
définis avec MOF.

· exprimer des requêtes (Query) pour filtrer et sélectionner des éléments d’un modèle (y
compris sélectionner les éléments source d’une transformation).

· proposer un mécanisme pour créer des vues (Views) qui sont des modèles déduits d’un autre
pour en révéler les aspects spécifiques.

· formaliser une manière de décrire des transformations (Transformations).

Le standard OMG : MOF QVT (Combemale et al. 2007) :

· Syntaxe abstraite en MOF 2.0 (et syntaxe concrète textuelle et graphique)

· Possibilité de plusieurs modèles (conformes à des métamodèles issus de MOF)

· Langage de requête s’appuyant sur OCL

· Gestion automatique des liens de traçabilité

· MOF QVT devra permettre plusieurs scenarios d’exécution (transformations
unidirectionnelles, multidirectionnelles, etc.).

Dans sa dernière version, QVT 2.0 propose trois langages de transformation (cf. Figure 40) :

Figure 40 Stratégie de test au sein du processus d’évolution d’architecture de SodifranceFigure 40 : Les relations entre les métamodèles de QVT (Object Management Group 2011c)

La partie déclarative de QVT est structurée en une architecture à deux couches composée de :

· « Relations » qui est un langage de haut niveau orienté utilisateur. Il permet d’établir des
relations entre les modèles MOF participant à la transformation. Les traces entre les
éléments de modèles impliqués dans les transformations sont créées implicitement.

« Relations » peut être utilisé soit comme formalisme de représentation des relations entre
modèles soit pour être traduit en modèle « Core » par une transformation
« RelationsToCore ».

· « Core » qui est un langage technique de bas niveau défini par une syntaxe textuelle.
Contrairement à « Relations », toutes les traces de transformations doivent être décrites afin
d’être créées.

La partie impérative est composée pour sa part de :

· « Operational Mappings » qui est une extension de « Relations » et de « Core » avec des
constructions impératives (extension d’OCL). Cela autorise une syntaxe concrète et un plus
procédural à destination des programmeurs standards.

· « Black Box MOF Operation » qui permet d’invoquer des fonctionnalités de transformation
implémentées dans un langage externe.

La combinaison de ces trois langages donne un « langage hybride ».

Figure 41 Stratégie de test au sein du processus d’évolution d’architecture de SodifranceFigure 41 : Alignement entre modèle/métamodèle et DTD/document XML (Blanc 2005, p.103)

Figure 42 Stratégie de test au sein du processus d’évolution d’architecture de SodifranceFigure 42 : XMI et la structuration des balises XML (Blanc 2005, p.104)

Page suivante : 7.1.4.3 XMI

Retour au menu : Stratégie de test au sein du processus d’évolution d’architecture de Sodifrance