Metamodel

A metamodel in the context of a Virtual Developer generator is nothing else than a set of Java classes where instances of those classes represent a model. You can write a metamodel yourself or take advantage of an existing metamodel. The open source components for generator development include some metamodel components.

When you use your own metamodel classes or the ones provided by the open source components, those classes are tailored to perfectly fit to the generation process. This way your generator is easier to develop and easier to maintain.

Here is a class diagram with a few basic classes from the open source components that build the fundament of all metaclasses that are found in those components.

Metaclasses from open source components

For a model access component you most often will not develop your own metaclasses. Model access components are specific to a certain modeling tool and/or model format. More than often such metaclasses are provided by the developer of the modeling tool.