Metamodeling
Meta-modeling is intended as a common technique for defining the abstract syntax of models and the interrelationships between model elements. Meta-modeling can be seen as the construction of a collection of “concepts” (things, terms, etc.) within a certain domain. A model is an abstraction of phenomena in the real world, and a meta-model is yet another abstraction, highlighting properties of the model itself. This model is said to conform to its meta-model like a program conforms to the grammar of the programming language in which it is written [1]. In this respect, OMG has introduced a four-level architecture. At the bottom level, the M0 layer is the real system. A model represents this system at level M1. This model conforms to its meta-model defined at level M2 and the meta-model itself conforms to the metametamodel at level M3. The metametamodel conforms to itself.
OMG has proposed MOF [2] as a standard for specifying meta-models. For example, the UML meta-model is defined in terms of MOF. A supporting standard of MOF is XMI [3], which defines an XML-based exchange format for models on the M3, M2, or M1 layer. This metamodeling architecture is common to other technological spaces as discussed by Kurtev et al. in [4]. For example, the organization of programming languages and the relationships between XML documents and XML schemas follow the same principles described above.
References
[1] J. Bézivin. On the Unification Power of Models. Jour. on Software and Systems Modeling (SoSyM), 4(2):171–188, 2005.
[2] OMG. Meta Object Facility (MOF) 2.0 Core Specification, OMG Document ptc/03-10-04. http://www.omg.org/docs/ptc/03-10-04.pdf, 2003.
[3] OMG. XMI Specification, v1.2, 2002. OMG Document formal/02-01-01.
[4] M. Aksit, I. Kurtev, and J. Bézivin. Technological Spaces: an Initial Appraisal. International. Federated Conf. (DOA, ODBASE, CoopIS), Industrial Track, Los Angeles, 2002.

Subscribe to RSS feed.
Rien ne se perd,
rien ne se crée, tout se transforme

