Sunday

GMF Generation Freamework

The generative framework of GMF provides the possibility to define future diagram using EMF models, and to generate code using this information. A GMF user will get all the advantages of a generative approach – fully functioning diagramming code automatically generated and easily regenerated upon model modification. Additional generator-specific variability points aid in customization of the generated code for the end-user. Generated code is optimized. As you will recognize, the generative part mostly involves working on developing a new language for describing diagrams and fits perfectly into the Generative Programming or Software Factories concepts.

GMF defines a specific numer of metamodels using Eclipse's EMF. Some of these meta-models will be instantiated during editor-generation. Eclipse has a GMF Dashboard view that will show how these metamodels are related to generate the GMF Editor. This looks pretty much like this.
The following are the metamodels used:
- Notation metamodel
- Graphical Definition Metamodel
- Tooling Definition Metamodel,
- Mapping metamodel
- Generator metamodel

You can define graphical representations and tooling before the semantic model, as all these 3 are independently developed. I will not explain the generation framework part in much detail. GMF Tutorials are pretty good enough for using these models. If possible I can provide links to the specific tutotrials for each model.
Eclipse has something called GMF Documentation Index but the index contain many repeated stuffs. I also felt that its not properly organized. There are many presentation available too. I hope this can be pretty useful to understand GMF better.

No comments: