This article will talk about the purpose and usage of the Metamodel .
There are many different definitions being used for Metamodel, at writing of this article we counted more than twelve definitions. From these we selected the following as the most appropriate definition:
CDIF semantic metamodel.
(1) the description of the set of notations and concepts used to define a model (ISO/IEC 15474-1:2002 Information technology - CDIF framework - Part 1: Overview, 4.2)
Note: The CDIF semantic metamodel defines an Entity-Relationship-Attribute model that is used to construct and define models used in systems development.
When we simplify it means: A Metamodel defines the components that you can put in your diagrams, their attributes and relationships.
Let’s use the following example scenario for Company X. They have made some plans & strategies. The EA Architect has connected those strategies to a set of work packages (initiatives) to implement. Those work packages (initiatives) are then also linked to organizational business units. This creates a clean traceability model.
So the above is the implemented model, now we need a metamodel that would allow /support this.
Above is the required metamodel to support our earlier example. You can see we included Strategy, Initiative and Business Unit.
A few quick comments on Metamodel and EA modeling tools: Usually there is an area within an EA tool where you define a Metamodel, this is often done visually by creating a diagram. We could call this a model of the model. What can be tricky is how easy is it for the tool to change the metamodel once it is active and being used. Usually you want to start small and expand your scope of metamodel components as you progress. It can become painful if changes to the metamodel require a lot of change management and / or technical steps. Watch for this.