Ingénierie des Modèles
Atlas Transformation Language
Amira Hakim
Dept de Mathématique & Informatique
Université de Souk-Ah...
Introduction (Motivation)
2
Importance des modèles
On utilise des modèles pour mieux comprendre un système.
Pour un observ...
L’Ingénierie Dirigée par les Modèles
3
L’Ingénierie Dirigée par les Modèles (ou IDM) est une démarche de
développement qu...
Notions fondamentaux
4
Modèle
 Méta-modèle
 Méta-Méta-modèle
 Transformation de modèle
Modéle Systéme
Méta-Modéle
Méta...
Modèle
5
Définition d’un modèle:
Un modèle est une description, une spécification partielle d'un système:
C’est une abstra...
Méta Modèle
6
Définition d’un Méta-Modèle:
Le terme méta modèle est un stéréotype attaché à un modèle qui indique que
le m...
Méta-Méta- Modèle
7
Méta Méta Modèle:
c’est un modèle qui décrit un langage de méta modélisation , c.à.d.,
les éléments de...
Transformation de modèles
8
La transformation prend en entrée un modèle m1 et doit produire en sortie un
autre modèle m2
U...
Buts d’une transformation
9
 Raffinement:
– Un modèle A1 devient un modèle A2
– Même métamodèle pour les deux
 Projectio...
ATL : ATLAS Transformation Language
10
Développé par l’équipe de recherche ATLAS INRIA ET LINA (Jean Bézivin).
Fait part...
Transformations endogènes et exogènes
11
Transformation endogène Transformation exogène
12
Transformation de modèle de carrés
en modèle de cercles
Structure d’une transformation ATL
13
Un module ATL correspond a une transformation modèle à modèle.
Eléments:
Une sectio...
ATL modules
14
Ce sont les fichiers qui contiennent les transformations.
Ces fichiers ont l’éxtension .ATL.
Consistent ...
Etape 1:Installation d’Eclipse
15
2.Création d’un nouveau ATL projet
16
Donner un nom au projet
17
Création d’un dossier « metamodels »
18
Sous le projet Square2Circle; on crée un
nouveau dossier pour les métas modéles
Modèle Square.ecore
19
Initialiser le fichier de diagramme Ecore
20
Square.ecore_diagram(a réaliser manuellement)
21
Détails et propriétés de Square.ecore
22
Modèle Circle.ecore
23
Initialiser le fichier de diagramme Ecore
24
Circle.ecore_diagram(a réaliser manuellement)
25
Détails et propriétés de Circle.ecore
26
Création d’un dossier de modéles
27
Création d’une interface dynamique(SquareM.xmi) sous
le dossier Model
28
Instanciation
29
On crée deux squares s1
et s2 et une relation r1
Modification des propriétés
30
Création du dossier des transformations
31
Création du fichier Square2Circle.atl
32
Code des transformation
33
module Square2Circle;
create OUT:Circle from IN:Square;
rule Arch2Base {
from S:Square!Architec...
Run Configuration Run
34
CircleM.xmi(Le modèle cible)
35
Modélisation avec Graphical Modeling Framework
36
La Création d’un modèle conforme à un méta-modèle se fait par deux
façon...
Graphical Modeling Framework
37
 GMF est un Framework de l'environnement de travail Eclipse.
 Il fournit une infrastruct...
Le WorkFlux de GMF
38
Génération d’un éditeur
graphique à partir d’un
modèle EMF
Domain Model(fichier.ecore)
Dériver « Dom...
Création du projet GMF(Square)
39
Sans oublier de cocher la case: Show DashboardViews
Le GMF Dashboard s’affiche
40
Copier et coller le square.ecore dans le projet
Square.GMF
41
Sélectionnez « Domain Model »
42
Choisissez Derive
43
Puis Appuiyer sur Load et Next
La fenêtre suivante s’affiche:
44
Click sur Derive pour aller au Graphical
Def Model
45
SuivantSuivant
Click sur Derive pour aller au Tooling Def
Model
46
SuivantSuivant
Click sur Combine pour aller au Mapping Model
47
SuivantSuivant
48
Relation As link
Target Remove
Source Remove
Relation Change:Source Feature :Ereference Source
Target Feature :Eref...
On obtient:
49
Click sur Transform
50
Generate Diagram Code
51
Click droit sur Square.gmfgen sous le projet Square puis Generate
Diagram Code
52
Sous la 2éme fenetre d’eclipse
53
New Java Project Puis new others Examples Square Diagram:
Diagram
54
55
Supprimer les modèles Square.xmi et Circle.xmi dans le repertoire
Model du projet Square2Circle .
Copier SquareM.square...
Création du projet GMF(Circle)
56
On dois refaire les étapes du DashBoard du projet Square(GMF)
Fin
57
Merci Pour votre Attention!
Prochain SlideShare
Chargement dans…5
×

Transformation de carrés en cercles avec Atlas Transformation Language(ATL)

887 vues

Publié le

Une simple transformation de modéles est présenté en utilisant ATL sous eclipse.

Publié dans : Ingénierie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
887
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
67
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Transformation de carrés en cercles avec Atlas Transformation Language(ATL)

  1. 1. Ingénierie des Modèles Atlas Transformation Language Amira Hakim Dept de Mathématique & Informatique Université de Souk-Ahras 1 UNIVERSITE MOHAMED CHERIF MESAADIA SOUK-AHRAS
  2. 2. Introduction (Motivation) 2 Importance des modèles On utilise des modèles pour mieux comprendre un système. Pour un observateur A, M est un modèle de l’objet O, si M aide A a répondre aux questions qu’il se pose sur O. (Minsky). Un modèle est une simplification, une abstraction du système.
  3. 3. L’Ingénierie Dirigée par les Modèles 3 L’Ingénierie Dirigée par les Modèles (ou IDM) est une démarche de développement qui conçoit l’intégralité du cycle de développement du logiciel comme un processus de production, de raffinement itératif et d’intégration de modèles. L’ingénierie dirigée par les modèles place le modèle au centre du processus de développement ,ainsi les différentes étapes du développement se traduisent par une succession de transformations de modèles.
  4. 4. Notions fondamentaux 4 Modèle  Méta-modèle  Méta-Méta-modèle  Transformation de modèle Modéle Systéme Méta-Modéle Méta-Méta- Modéle représente Est conforme à Est conforme à
  5. 5. Modèle 5 Définition d’un modèle: Un modèle est une description, une spécification partielle d'un système: C’est une abstraction de ce qui est intéressant pour un contexte et dans un but donné. Le modéle fournit une vue subjective et simplifiée d'un système. But d'un modèle: Faciliter la compréhension d'un système. Simuler le fonctionnement d'un système. Exemple : une carte routière , un diagramme UML
  6. 6. Méta Modèle 6 Définition d’un Méta-Modèle: Le terme méta modèle est un stéréotype attaché à un modèle qui indique que le modèle est une abstraction d'un autre modèle ,autrement dit, un modèle d'un modèle. L'UML lui-même sert de méta modèle pour les modèles qui représentent des systèmes réels construits.
  7. 7. Méta-Méta- Modèle 7 Méta Méta Modèle: c’est un modèle qui décrit un langage de méta modélisation , c.à.d., les éléments de modélisation nécessaires à la définition des langages de modélisation.
  8. 8. Transformation de modèles 8 La transformation prend en entrée un modèle m1 et doit produire en sortie un autre modèle m2 Une transformation de modèles est la génération d’un ou de plusieurs modèles cibles à partir d’un ou de plusieurs modèles sources. Transformation = ensemble de règles (Correspondances entre éléments du modèle source et éléments du modèle cible)
  9. 9. Buts d’une transformation 9  Raffinement: – Un modèle A1 devient un modèle A2 – Même métamodèle pour les deux  Projection: – Un modèle A1 devient un modèle B1 – Métamodèles distincts – [Composants > Java] Représente la base: – Production de systèmes dirigées par les modèles. – Support de l’interopérabilité entre les systèmes.
  10. 10. ATL : ATLAS Transformation Language 10 Développé par l’équipe de recherche ATLAS INRIA ET LINA (Jean Bézivin). Fait partie du projet Eclipse M2M (Model-to-Model) Langage de transformation hybride Propose des structures déclarative et imperative. Une transformation ATL est composée de regles (rules) declaratives. Une regle definit une transformation d’un element du modele source vers un element du modele cible Possibilite d’appeler des Helpers (eq. methodes) pour faciliter le traitement dans les regles.
  11. 11. Transformations endogènes et exogènes 11 Transformation endogène Transformation exogène
  12. 12. 12 Transformation de modèle de carrés en modèle de cercles
  13. 13. Structure d’une transformation ATL 13 Un module ATL correspond a une transformation modèle à modèle. Eléments: Une section entête : definit les attributs qui sont relatives au module de transformation. Une section « import » optionnelle: sert a importer quelques bibliothéques ATL éxistantes. Un ensemble de « helpers »:ATL équivalents aux méthodes java. Un ensemble de régles: définissent la façon dont les modéles cibles sont générés a partir de modéles sources.
  14. 14. ATL modules 14 Ce sont les fichiers qui contiennent les transformations. Ces fichiers ont l’éxtension .ATL. Consistent en:  Header  Import  Helpers  Rules
  15. 15. Etape 1:Installation d’Eclipse 15
  16. 16. 2.Création d’un nouveau ATL projet 16
  17. 17. Donner un nom au projet 17
  18. 18. Création d’un dossier « metamodels » 18 Sous le projet Square2Circle; on crée un nouveau dossier pour les métas modéles
  19. 19. Modèle Square.ecore 19
  20. 20. Initialiser le fichier de diagramme Ecore 20
  21. 21. Square.ecore_diagram(a réaliser manuellement) 21
  22. 22. Détails et propriétés de Square.ecore 22
  23. 23. Modèle Circle.ecore 23
  24. 24. Initialiser le fichier de diagramme Ecore 24
  25. 25. Circle.ecore_diagram(a réaliser manuellement) 25
  26. 26. Détails et propriétés de Circle.ecore 26
  27. 27. Création d’un dossier de modéles 27
  28. 28. Création d’une interface dynamique(SquareM.xmi) sous le dossier Model 28
  29. 29. Instanciation 29 On crée deux squares s1 et s2 et une relation r1
  30. 30. Modification des propriétés 30
  31. 31. Création du dossier des transformations 31
  32. 32. Création du fichier Square2Circle.atl 32
  33. 33. Code des transformation 33 module Square2Circle; create OUT:Circle from IN:Square; rule Arch2Base { from S:Square!Architecture to C:Circle!Architecture ( Name<-S.Name, circles<-S.squares, relations<-S.relations )} rule Transf { from S:Square!Square to C:Circle!Circle( Name<-S.Name, Color<-S.Color, Rayon<-S.Length )} rule Relation2Relation { from S:Square!Relation to C:Circle!Relation( Name<-S.Name, source<-S.source, target<-S.target
  34. 34. Run Configuration Run 34
  35. 35. CircleM.xmi(Le modèle cible) 35
  36. 36. Modélisation avec Graphical Modeling Framework 36 La Création d’un modèle conforme à un méta-modèle se fait par deux façons soit : Instancier le Meta model et avoir un modèle sous forme XMI. Générer un éditeur graphique à partir du Meta model par l’utilisation du GMF.
  37. 37. Graphical Modeling Framework 37  GMF est un Framework de l'environnement de travail Eclipse.  Il fournit une infrastructure permettant l'exécution d'éditeurs graphiques basés sur les Framework EMF et GEF.  Avec GMF, il est possible de créer une application de modélisation simplifiée (formes de base : rectangle, ellipse) sans écrire une seule ligne de code.
  38. 38. Le WorkFlux de GMF 38 Génération d’un éditeur graphique à partir d’un modèle EMF Domain Model(fichier.ecore) Dériver « Domain Gen Model » (Fichier : *.genmodel) Générer « Graphical Def Model » (Fichier : *.gmfgraph) Générer « Mapping Model » (Fichier : *.gmfmap) « Diagram Editor Gen Model » (Fichier : *.gmfgen) Générer l'éditeur de diagramme
  39. 39. Création du projet GMF(Square) 39 Sans oublier de cocher la case: Show DashboardViews
  40. 40. Le GMF Dashboard s’affiche 40
  41. 41. Copier et coller le square.ecore dans le projet Square.GMF 41
  42. 42. Sélectionnez « Domain Model » 42
  43. 43. Choisissez Derive 43 Puis Appuiyer sur Load et Next
  44. 44. La fenêtre suivante s’affiche: 44
  45. 45. Click sur Derive pour aller au Graphical Def Model 45 SuivantSuivant
  46. 46. Click sur Derive pour aller au Tooling Def Model 46 SuivantSuivant
  47. 47. Click sur Combine pour aller au Mapping Model 47 SuivantSuivant
  48. 48. 48 Relation As link Target Remove Source Remove Relation Change:Source Feature :Ereference Source Target Feature :Ereference Target Diagram Link:Connection Relation
  49. 49. On obtient: 49
  50. 50. Click sur Transform 50
  51. 51. Generate Diagram Code 51 Click droit sur Square.gmfgen sous le projet Square puis Generate Diagram Code
  52. 52. 52
  53. 53. Sous la 2éme fenetre d’eclipse 53 New Java Project Puis new others Examples Square Diagram:
  54. 54. Diagram 54
  55. 55. 55 Supprimer les modèles Square.xmi et Circle.xmi dans le repertoire Model du projet Square2Circle . Copier SquareM.square et le coller dans ce répertoire. Aller a run configuration pour modifier le IN model Click sur Apply puis Run
  56. 56. Création du projet GMF(Circle) 56 On dois refaire les étapes du DashBoard du projet Square(GMF)
  57. 57. Fin 57 Merci Pour votre Attention!

×