Your MDE platform
As a simple and understandable example, this page is based upon a College metamodel you may not encounter in your daily activities but with enough logic and few elements to present concepts without headache.
Step 1: define your DSL metamodel with Ecore
You can graphically design your metamodel using the Topcased Ecore modeler.
You get a .ecore file you can use as the reference for model instance types in other OpenEmbeDD MDE tools.
Step 2: generate the DSL model editor with EMF
Once you get your Ecore metamodel, you may process it through EMF in order to generate the corresponding model editor.
Create an EMF model base upon your metamodel.
You just have to tune few parameters ...
... before you ask EMF to generate the reflexive editor.
The result is a deidcated Eclipse plug-in, with a New wizard for your models.
You now have a tool to create models corresponding to your metamodel.
Step 3: build modelers you need for DSL with Topcased
With the same principle, the Topcased modeler generator allows you to realize graphical editors for parts of your metamodel. This is done through configurators you create upon the ecore metamodel.
After some parameterizing work, you get a graphical tool users can modelize with.
Step 4: develop transformations & processes on the DSL
Once your metamodel is defined with graphical modeler, you can develop a large MDE processfor the corresponding models.
Write transformations with ATL
The ATL language offers a natural way to transform models from one kind to another form.
The next sample presents a switch of college student into university students.
Add behavior and concepts with Kermeta
You can use Kermeta aspects in order to improve and extend any given metamodel. Add new types, new operations; attach some code to existing elements.
As an example, you may add a Note element into the College metamodel in order to manage students marks.