Jump to content

Metamodeling

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Smoothloader (talk | contribs) at 14:26, 31 March 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

A meta-model is the collection of "concepts" (things, terms, etc.) within a certain domain and an attempt at describing the world around us for a particular purpose. Meta-models are also referred to as “a precise definition of the constructs and rules needed for creating semantic models” [Metamodel-a].

Common purposes for meta-models are [Metamodel-a]:

  • As a "schema" for semantic data that needs to be exchanged or stored, in a repository, for example
  • As a language that supports a particular method or process
  • As a language to express additional semantics of existing information

Meta-models are most related to the term ontology. “Meta-models, ontology and conceptual models are often used to describe and analyze the relations between concepts. 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. Meta-modeling is closely related to, and to some extent overlapping, ontology analysis and conceptual modeling” [Söderström2002] referring to [Gigch1991].

Ontology express something meaningful within a specified domain of interest by utilizing a grammar for using vocabulary. The grammar specifies what it means to be a well-formed statement, assertion, query, etc. (formal constraints) on how terms in the ontology’s controlled vocabulary can be used together. [Metamodel-b]

Meta-modeling can be considered as an explicit description (constructs and rules) of how a domain-specific model is built. In particular, this comprises a formalized specification of the domain-specific notations. Typically, meta-models are – and always should – follow a a strict rule set. [Metamodel-a]. “A valid meta-model is an ontology, but not all ontology are modeled explicitly as meta-models” [Metamodel-b].

For software engineering, two types of models (and their corresponding modeling activities) can be distinguished: