The Amalgamation book is already describing how to define your own "Domain Neutral Component" model and create the
graphical modeler thanks to GMF. Let's take an existing formalism for a change and as I like Ecore, I'll pick Ecore.
Here is the diagram editor before the extension, quite boring isn't it ?
We'll add an "archetypes" layer for the Ecore modeler, this layer only contains a specialization of the
container mapping definition used to display the EClasses in the Ecore modeler.
Specializing the diagram definition is mainly about adding a few new conditional styles (for the colors) and a few
tools in the palette. I decided to use Ecore's annotation to keep the information about "being an archetyped
EClass". Here is the full definition :
Let's have a closer look on a few user interactions : adding the original EClass mapping in "extra mappings" of the
tool definition allows me to define modeling assistant accelerators to contextually change an archetype:
I also used the tooltips on my tools to help the user identify the archetypes :
And here is the final result !
Of course not a single line of code is needed to get this and the modeler specification is automatically
deployed adapting the original Ecore one.
Enjoying the colors ? ;)