Comparaison de outils mda

Post on 07-Jul-2015

453 views 0 download

Tags:

description

Maddah Mohamed exposé MDA

transcript

Présenter par:

Comparaison de outils MDA

Proposée par:Dr.Maddah Mohamed

Melle:Zaghdoud MouniraMr:Shili Mohammed

République tunisienne ministère de l’enseignement Supérieur et de la recherche Scientifique université De sousse

INSTITUT SUPÉRIEUR DES SCIENCES

APPLIQUÉES ET DE TECHNOLOGIE

DE SOUSSE

Introduction

Atlas Transformation Language

QVT:Query,Views ,Transformation

Kermeta :kernel de transformation

Conclusion

PLAN:

2

Introduction

Dans le domaine du génie logiciel, l’apparition de l’Ingénierie

Dirigée par les modèles (IDM) propose une démarche dont les

deux originalités sont d’une part la formulation des modèles, et

d’autre part des programmes de transformation de modèles.

Ces outils de transformation se diffèrent

3

ATL: Atlas transformation LanguageATL est un langage de transformation de modèles dans le domaine de l’IDM (Ingénierie Dirigée par les Modèles) ou MDE (Model-Driven Engineering). Il fournit aux développeurs un moyen de spécifier la manière de produire un certain nombre de modèles cibles à partir de modèles sources.

Le modèle de transformation doit être conforme au méta-modèle qui définit la sémantique de transformation de modèles (ATL).

Tous les méta-modèles doivent être conformes au méta-méta-modèle considérée (Ecore).

4

Vue d’ensemble sur la transformation ATL

5

Les règles d’ ATL Les règles :Le langage ATL est un langage hybride :Les règles standards (Matched rules) : Ils constituent le noyau de la

transformation déclarative Les règles paresseuses (lazy rule): Elles ressemblent aux règles

standards, à la différence qu’elles ne sont déclenchées que par d'autres règles.

Les règles paresseuses uniques (unique lazy rule): Identiques aux règles paresseuses non uniques, à la différence qu elles sont appliquées une unique ‟fois pour chaque tuple.

Les règles appelées (called rules) : Ils fournissent le style de programmation impératif.

6

Contrôle des transformationsles transformations ATL ne sont pas interactives

plusieurs approches :•utilisation de «méta-informations» dans le modèle source,

•isolation des choix dans un modèle séparé •(utilisé conjointement au modèle source),•transformation de transformation,•enchainement de transformations,

orientation des transformations :

•utilisation de called rules (dangereux dans un contexte d´eclaratif),•utilisation des conditions d’application des matched rules.

7

Exemple d’une transformation ATL(utilisant une matched rule)

8

QVT:Query,Views ,TransformationQuery/Views and Tranformations :est une spécification en cours d’approbation pour standardiser un langage de définition de transformations de modèles et de spécifications des vues et requêtes sur les modèles basés sur MOF. Requête: sur les modèles MOF oblige à filtrer et sélectionner les éléments à partir d'un modèleFiltrer et sélectionner des éléments d’un modèle Vues est un modèle qui est dérivé d'un autre modèle. Un mécanisme pour créer des vues Transformation: Normaliser les règles de transformation

9

Architecture

10

Architecture du standard QVT

Les niveaux de QVT

• QVT-Relation : langage déclaratif (Prolog) • QVT-Core : la sémantique des concepts déclaratifs (Pascal, C) • QVT-Operational : langage hybride

11

QVT modeltype

• Déclare un type de métamodèle

• Permet de spécifier l’URI du métamodèle

exemple: on défini que mjavaMMcorrespond à http:///mjava.ecore

(Déclaré avant la signature) :

12

QVT main Défini le point d’entré de la transformation La seule méthode qui est exécutée quand la transformation est lancée contient un ensemble d’expression

13

QVT mapping

• mapping== règle de transformation• Définit un mapping entre [1..*] éléments sources et [1..*]

éléments cible• Eléments source et cible définit par la signature de l’opération• Appel de l’opération : a.map AtoB();

14

15

Kermeta :kernel de transformation

-Un langage pour construire et spécifier des métamodèles-Un environnement pour toutes les étapes de développement basées sur l'utilisation de métamodèles:

-De la production des MM jusqu'à leur exploitation-Intégration et/ou interopérabilité avec les autres outils du domaine-Adapté pour construire des DSL (Domain Specific Language) (Ingénierie des langages)

Approche OO permettant de simplifier les tâches des développeurs de DSL grâce à des mécanismes dédiés:

-Manipulation intuitive des éléments de modèle-Tissage, patron de conception,-Clôtures lexicales, -Type modèle, généricité, …

16

Cas d'utilisation

-Pour définir la structure, le comportement et les contraintes d'un métamodèle (compatible avec EMOF et Ecore),-Pour vérifier des modèles-Pour animer/simuler des modèles-Pour manipuler/transformer/tisser des modèles

17

Exemple

18

19

Conclusion

Le programme de transformation de modèles peut être utilisé pour la

réutilisation de modèles ou fournir des modèles en fonction des besoins de

l’utilisateur.

Il permet aussi de comparer de modèles dans un même domaine.

La transformation a des avantages comme suivants :

- Permettre de diminuer le temps de développement des transformations,

- Réduire les éventuelles erreurs pouvant se produire dans le codage manuel

- Améliorer la qualité du code final de la transformation

20

Merci pour votre attentionMerci pour votre attention

21

Référence Référence

22

https://www.eclipse.org/atl/

http://www.irisa.fr/triskell/ra/2005/uid45.html

http://wiki.eclipse.org/QVTo

https://www.google.tn/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&cad=rja&uact=8&ved=0CHkQFjAJ&url=http%3A%2F%2Fstaffwww.dcs.shef.ac.uk%2Fpeople%2FA.Simons%2Fremodel%2Fpapers%2FQVTGuide11Jan11.pdf&ei=-vw-U-LxKo-xhAf74IGACg&usg=AFQjCNFVpPUICUS7ZtBR96lzPcii4eYrHw&sig2=PCL64alMwxmL9aFcpWn3Tw&bvm=bv.64125504,d.ZG4