Meta-modeling Articles about
Meta-modeling
 

Information About

Meta-modeling




Meta-modeling is the construction of collection of "concepts" (things, terms, etc.) within a certain domain, and an attempt at describing the world around us for a particular purpose. Meta-model s are also referred to as “a precise definition of the constructs and rules needed for creating Semantic models” {Link without Title} .

Beware. Meta-modeling has nothing to do with Metaprogramming . These are two completely different approaches.

Spelling note
The recommended standard orthograph is ''metamodeling'' but the alternative ''meta-modeling'' is also used from time to time. However the current trend seems now to write "metamodel" and mot "meta-model", "metamodeling" and not "meta-modeling". This is consistent with classical usage like Metaphysics , Metaprogramming , Metacognition , Metamathematics , Metalogic , Metalanguage , etc.

Common purposes for meta-models are {Link without Title} :
  • 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 . “Metamodels, 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 metamodel is yet another abstraction highlighting properties of the model itself. Metamodeling is closely related to, and to some extent overlapping, ontology analysis and conceptual modeling” 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. {Link without Title}

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 strict rule set. “A valid metamodel is an ontology, but not all ontology are modeled ''explicitly'' as metamodels” [Metamodel-b .

Zoos of meta-models. A library of similar meta-models has been called a '''Zoo''' of meta-models in paper .
Several meta-model zoos may be found at: AtlanticZoo . Some are expressed in ECore . Others are written in MOF 1.4 - XMI 1.2. The metamodels expressed in UML - XMI 1.2 may be uploaded in Poseidon , a UML CASE tool.

Types of Meta-models. For software engineering, several ''types'' of models (and their corresponding modeling activities) can be distinguished:
  • Meta-Data Modeling (MetaData Model)

  • Meta-Process Modeling (MetaProcess Model)

  • QVT (Transformation Model). In the case of MOF/QVT, a model transformation is also a model. This means that the transformation language should be defined by a precise meta-model. An example of a model transformation language based on a precise meta-model is ATL .



REFERENCES






















{Link without Title} J. P. van Gigch. System Design Modeling and Metamodeling. Plenum Press, New York, 1991
{Link without Title} J. Bezivin. On the Unification Power of Models. Software and System Modeling (SoSym) 4(2):171--188. http://www.sciences.univ-nantes.fr/lina/atl/www/papers/OnTheUnificationPowerOfModels.pdf
{Link without Title} What is meta-modeling? http://www.metamodel.com/staticpages/index.php?page=20021010231056977 . 11.10.2002
{Link without Title} Johannes Ernst. What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model? http://www.metamodel.com/article.php?story=20030115211223271 . 10.10.2002
{Link without Title} E. Söderström, B. Andersson, P. Johannesson, E. Perjons, and B. Wangler. Towards a Framework for Comparing Process Modelling Languages. Lecture Notes In Computer Science; Vol. 2348. Proceedings of the 14th International Conference on Advanced Information Systems Engineering. Pages: 600 – 611, 2002