IRISA / INRIA
Model Transformation
Cahier des charges
Général
Version
0.0
I R I S A / I N R I A - E Q U I P E T R I S K E L L
Model Transformation : cahier des
charges général
MTL : Model Transformation language from INRIA
Table des matières
P E R S O N N A L I S A T I O N D E L A P R E S E N T A T I O N
1
Les objectifs
Diverses fonctionnalités que ce nouveau langage doit permettre.
ntroduction
Pour préciser les objectifs à atteindre, il faut commencer par décrire l’environnement dans lequel on veut
créer ce nouveau langage. Cet environnement est basé sur l’approche MDA (Model Driven Architecture)
de l’OMG ; y figurent :
Expries par des contraintes OCL, ou du texte ( notes attaces à un
modèle). On peut imaginer que d’autres expressions annotent les
diagrammes et puissent être vérifes par des outils.
Chapitre
1
I
Quatre niveaux de modélisation
Des précisions sémantiques
P E R S O N N A L I S A T I O N D E L A P R E S E N T A T I O N
2
onctionnalités attendues de MTL
MTL doit pouvoir se connecter à un dépositaire de moles de niveau M1, pour naviguer dans un
modèle présent dans le dépositaire et éventuellement le modifier.
MTL doit pouvoir être utilisé avec des positaires différents, et dialogue avec le dépositaire via une
API générique. Pour raccorder un nouveau positaire, il suffit d’écrire l’implémentation de l’API
nérique qui lui est propre.
Le compilateur MTL doit pouvoir sécrire en MTL de façon à rester indépendant du langage cible qui le
réalise concrètement.
Un interprète OCL devrait pouvoir s’écrire facilement en MTL, car MTL dispose des mes
possibilis de navigation et de test qu’OCL. MTL étend OCL en permettant des créations et
modifications.
MTL doit permettre d’appeler des « orations externes » telles que l’appel d’un interprète OCL sur une
expression OCL isolée, un autre outil associé aux expressions présentes dans le métamodèle, ou encore
des fonctionnalités du langage cible.
MTL doit permettre de réaliser des modules ou librairies qui peuvent être réutilisés dans le cadre de
plusieurs transformations.
Fonctionnalités en termes de modèles :
MTL peut rifier la cohérence d’un mole vis-à-vis de son métamodèle : récupération de toutes les
contraintes OCL issues du tamodèle et attaces aux éléments du modèle, puis vérification de leur
validité par appel de l’interprète OCL sur de chacune delles.
MTL peut transformer un mole en un autre, même lorsque ceux-ci sont basés sur des tamodèles
différents. Exemples : transformation d’un arbre quelconque en arbre binaire, transformation d’un arbre
ANTLR en arbre N-aire, transformation d’un modèle en UML1.4 en mole d’UML2.
: MTL permet l’application d’une même transformation à tous les éléments de modèle satisfaisant une
propr. Par exemple, l’application de contrat entre une interface requise et une fournie. MTL
recherche dans le modèle toutes les interfaces mises en correspondance et y ajoute sysmatiquement le
type de contrat ainsi que son implémentation. On peut également tisser des aspects sur le modèle.
MTL permet de river, à partir d’un groupe d’éléments du modèle représentant un produit générique,
une ligne de produits par introduction de caractéristiques scifiques à chaque produit.
MTL doit-il être un langage orienté objet autorisant l’ritage multiple ?
Avantages : Les objets MTL manipulés représentent des éléments de mole
(objets pouvant avoir un héritage multiple).
On peut utiliser la modélisation UML pour décrire des transformations.
F
1 / 30 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !