Objectifs
- Comprendre le projet Modeling
- Apprendre à modéliser avec EMF/Ecore
- Générer du code EMF ou sur mesure
- Voir les éditeurs graphiques et textuels de modèles
Public
- Développeur
- Chef de projet
- Architecte logiciel
Durée
3 jours
Plan de Formation
Modeling
- Historique du projet
- Présentation du projet Modeling
- EMF / M2T / GEF / GMF / XText ?
- Description des principaux composants
Ecore
- Description du langage et des composants
- Définition des relations
- Les différents éditeurs Ecore (textuels, arbres, graphiques…)
- Créer et gérer son modèle
- L’import/export de modèles
Génération EMF
- Le modèle de génération (genmodel) et ses paramètres
- Présentation de JET
- Les couches générées
- Exploitation de la génération
- Principes de protection
- Modifier les classes générées et les générateurs par défaut
- Paramétrer la validation
API Modeling
- Parcours générique du modèle
- Charger un modèle, instancier les objets du modèle
- Ecouter les modifications
Génération sur mesure M2T / Xpand
- Présentation Xpand / Cas d’utilisation
- Description du langage et des outils
- Manipulation du modèle
- Relation au méta modèle
- Gestion du polymorphisme
- Relation avec Java
- Lancement des templates XPand (les workflows)
- Génération avec les aspects
Génération sur mesure M2T / Acceleo
- Présentation Acceleo
- Description du langage et des outils
- Manipulation du modèle et relation au méta modèle
- Gestion du polymorphisme
- Lancement des templates Acceleo
Graphical Editing Framework (GEF)
- Présentation
- Draw2D : figures, layouts, connections
- EditParts, EditPolicies, MVC
- Tools et Palette
Graphical Modeling Framework (GMF)
- Présentation
- Les modèle de définition graphique, des outils et du zapping
- La chaine de génération
- EuGENia : utilisation du projet avec GMF
XText
- Présentation
- La grammaire du modèle
- Les caractéristiques des éditeurs obtenus
- Fragments et workflow de génération
Industrialisation
- Utiliser modeling dans un projet
- Intégrer les éditeurs et générateurs spécifiques dans un studio
- Comparatif des outils de génération (Acceleo/Xpand)


