A model of a domain of interest, not of a concrete single system within that domain. Thus a meta-model is comparable to a class while a model is comparable to a class instance. Relating meta-model and model: a meta-model is a framework (e.g., a language) used for building models which are called instances of this meta-model. A meta-model is itself a model: the instance of a meta-meta-model. That way, going one meta-layer up means to find explicit mention of the constraints which a model conforms to; but it also means losing the semantics of the layer below. So a meta layer offers less, not more expressiveness: within a meta layer one can capture the syntactical rules of an underlying layer but no more the semantics of its concrete models. Meta-modeling serves just to bring order into one’s syntax, removing ambiguities and the like. Every meta-model is an ontology, ours in the domain of collaboration and community.
Leave a Reply