Bits of History (Abstract Models)
An interesting tradition at every OMG meeting is the ORSMC meeting. It used to take place on the Sunday before the technical meeting week, but recently the meeting day became more flexible. The main goal of this meeting is to edit the “MDA Foundation Model” under the control of the AB (Architecture Board). The latest edition is ormsc/10-09-06, version of september 2010.
Although the “MDA Foundation Model” is an internal OMG document, it gives very useful information on how the modeling architecture is organized. One typical figure represents the main involved entities and their relations:
Some choices are probably debatable, but this shows the overall organization of modeling artifacts. If we look at this fragment, we can paraphrase the diagram as follows:
- A model is composed of model elements (zero or more).
- A metamodel is composed of metaelements (zero or more)
- A model is written in the language defined by its metamodel(s) (relation ModelConformsToMetamodel);
- A metamodel is a model (Metamodel inherits from Model).
The last property is quite important because it states that operations applicable to models (e.g., store, retrieve, transform, etc.) may also be applied to metamodels. This is the basis of model unification.
Perhaps I would have preferred something like the following, but this is not central.