Il y a quelques semaines, je suis tombé sur le fil suivant du Forum EMF demandant une documentation formelle du méta-modèle Ecore ?. Ed a pointé vers une documentation qui inclut des diagrammes réalisés avec soin mais faits avec des outils d’une autre époque.
En tant que mainteneur d’EcoreTools, je devais faire quelque chose à ce sujet, et c’est ce que j’ai fait :
Tadaa !
Les diagrammes suivants ont été créés grâce à EcoreTools qui fait partie du Package Modeling Eclipse. Tout le travail difficile a été fait auparavant par Ed lorsqu’il a dû décider quoi afficher et comment, tout ce que j’ai fait est de reproduire ceux-ci en utilisant EcoreTools et en les exportant à une résolution assez élevée (cliquez sur les images pour obtenir la pleine résolution).
Le patchset correspondant pour EMF est ici.
Mais à côté de cette action anecdotique, il y a quelque chose d’intéressant et de plus général sur la façon dont ces diagrammes présentent le modèle Ecore.ecore.
Composants Ecore
Ed commence par diagrammer la hiérarchie des types, sans aucune autre information (attributs ou références). Et au moins dans le cas d’Ecore, mais je suis sûr que c’est vrai dans un sens général, cela donne une très bonne introduction à un modèle de domaine : en commençant seulement avec les types qu’il définit.
Pour construire un tel diagramme en utilisant EcoreTools, importez toutes les EClasses dedans, puis activez les filtres suivants :
Vous pouvez également activer la couche Contraintes qui donne un peu plus d’informations sur ce qui rend ces types valides.
Voici un diagramme général mettant en évidence les références et attributs. Il peut paraître un peu encombré au premier abord, mais il regorge d’informations. Vous pouvez comprendre comment tous les aspects principaux d’Ecore fonctionnent juste en utilisant ce diagramme.
Pour ce type de diagrammes, vous devez vraiment connaître quelques raccourcis clavier, parmi d’autres :
… | … | … |
Cacher élément | + | ->doc |
Cacher étiquette | + | ->doc |
Supprimer les points de flexion | + + | ->doc |
… | … | … |
Vous trouverez tous les raccourcis clavier dans l’excellent article de blog de Mélanie.
Types Génériques
Le diagramme suivant se concentre sur la façon dont les Génériques sont modélisés dans Ecore et fait un assez bon travail en décrivant cela en cachant tous les autres aspects.
Plus important : cela n’était pas affiché du tout dans le diagramme précédent et c’est une bonne chose car on n’a pas besoin de comprendre ce point spécifique pour tirer parti d’Ecore.
Types primitifs Java
Les derniers diagrammes énumèrent les types de données.
Pour ce type de diagrammes avec de nombreuses formes non connectées, vos meilleurs amis sont les actions Rendre de même taille, Distribuer et Aligner.
Types Externes
Alors maintenant, qui veut une belle affiche dans son bureau ?