Misplaced Pages

Metamodeling: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 12:50, 10 May 2007 edit88.70.3.3 (talk) removed a "-"← Previous edit Revision as of 20:00, 15 May 2007 edit undo193.209.12.111 (talk)No edit summaryNext edit →
Line 51: Line 51:
* ] * ]
* ] * ]

== External Links ==
* An independent organization of DSM tool vendors, practitioners and experts.
* DSM environment from MetaCase


==References== ==References==

Revision as of 20:00, 15 May 2007

This is the concept of metamodeling in computer science and related disciplines. For the language patterns known as the Meta-model in Neuro-linguistic programming see Meta model (NLP).
It has been suggested that Meta-modeling technique be merged into this article. (Discuss) Proposed since February 2007.

Most general, metamodeling or meta-modeling is the analysis, construction and development of the frames, rules, constraints, models and theories applicable and useful for the modeling in a predefined class of problems. This concept definition is composed with the notions of the terms meta- and modeling.

For the reason of the meta character of metamodeling, this activity and metamodels are the domain of interest of metascience, metaphilosophy, metatheories and systemics, as well as, are related to meta-consciousness.

From the computational perspective, this concept is used in mathematics, and is practically applied in computer science and computer engineering/software engineering, what mainly is illustrated in this article.

In computer science and related disciplines, metamodeling is 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 metamodel is yet another abstraction, highlighting properties of the model itself. This model is said to conform to its metamodel like a program conforms to the grammar of the programming language in which it is written. Common uses for metamodels are:

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

Definition

The following discussion can be viewed as a detailed application of metamodeling techniques, related to Model Driven Engineering. In data engineering and software engineering, the use of models is more and more recommended. This should be contrasted with the classical code-based development techniques. A model always conforms to a unique metamodel. One of the currently most active branch of Model Driven Engineering is the approach named model-driven architecture proposed by OMG. This approach is based on the utilization of a language to write metamodels called the Meta Object Facility or MOF. Typical metamodels proposed by OMG are UML, SysML, SPEM or CWM. All the languages presented below could be defined as MOF metamodels.

Types of meta-models

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

Zoos of metamodels. 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-XMI1.2 may be uploaded in Poseidon_for_UML, a UML CASE tool.

Model Transformations

One important move in Model Driven Engineering is the systematic use of Model Transformation Languages. The OMG has proposed a standard for this called QVT for Queries/Views/Transformations. QVT is based on the Meta-Object Facility or MOF. Among many other Model Transformation Languages (MTLs), some examples of implementations of this standard are AndroMDA, VIATRA, Tefkat or MT.

  • 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 metamodel. An example of a model transformation language based on a precise metamodel is ATL.

Relationship to ontologies

Meta-models are closely related to ontologies. Both are often used to describe and analyze the relations between concepts .

Ontologies express something meaningful within a specified universe or domain of discourse 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.

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, metamodels are – and always should follow - a strict rule set. . “A valid metamodel is an ontology, but not all ontology are modeled explicitly as metamodels” .

See also

External Links

  • DSM Forum An independent organization of DSM tool vendors, practitioners and experts.
  • MetaEdit+ DSM environment from MetaCase

References

Categories: