METAMODEL
Metamodeling or meta-models in software engineering and systems engineering, among
other disciplines, it is the analysis, construction, and development of frameworks, rules,
restrictions, models, and theories applicable and useful for the modeling of a class
predefined problems. As its name indicates, this concept applies to the concepts
of meta and modeling.
Metamodeling is the construction of a collection of 'concepts' within a
determined domain. A model is an abstraction of phenomena in the real world, a
Metamodel is another abstraction, the properties of the highlighting model itself. A
the model fits its metamodel in the way a computer program fits
the grammar of the programming language in which it is written.
The most common uses for metamodels are:
As a schema for the 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 the existing information
As a mechanism to create tools that work with a wide range of
models at runtime
As a framework to automatically model and explore sentences of a language
with applications to the synthesis of automated tests
Due to the 'meta' nature of metamodeling, both the practice and the theory of metamodels are
relevant to Metascience, metaphilosophy, metatheories and Systems, and meta-consciousness. The
The concept can be useful in mathematics, and it has practical applications in computer science.
and the engineering/computer software engineering, which are the main focus of this article.
Metamodeling topics
Definition
In software engineering, the use of models is increasingly recommended. This must
is contrasted with development techniques based on classic codes. A model
it always adapts to a unique metamodel. One of the most active branches currently of
Model Driven Engineering is the approach known as model-based architecture.
proposed by OMG. This approach is based on the use of a language to write
metamodels called the Meta Object Facility or MOF. Typical metamodels proposed by
OMG son UML, SysML, SPEM or CWM. ISO has also published the metamodel
ISO/IEC standard 24744. All the languages presented below could be defined
like MOF metamodels.
Modeling of metadata
Metadata modeling is a type of metamodeling used in software engineering and
systems engineering for the analysis and construction of applicable and useful models for
some predefined class of problems.
Model Transformations
An important step in the Driven Engineering model is the systematic use of models of
Transformation of the Languages. The OMG has proposed a standard for this called QVT.
for queries/views/Transformations. QVT is based on the Fund for the Meta-Object or
MOF. Among many other language transformation models, some examples of
implementations of this standard are AndroMDA, Viatra, Tefkat, MT, manyDesigns
Portofino.
Relationship with ontologies
Meta-models are closely related to ontologies. Both are used in
petty to describe and analyze the relationships between concepts
Ontologies: to express something meaningful within a universe expressed not
mastery of discourse through the use of a grammar for the use of
vocabulary. Grammar specifies what it means to be a well-formed statement.
formed, the statement, the query, etc., about how the terms of the vocabulary
controlled ontologies can be used together.
Meta-modeling: it can be considered as an explicit description of how it
build a domain-specific model. In particular, this includes a
formal specification of domain-specific notations. Normally, the
Metamodels are - and must always follow - a strict set of rules. "A
A valid metamodel is an ontology, but not all ontologies are modeled.
explicitly as metamodels.
Types of metamodels
For software engineering, several types of models can be distinguished:
Modeling of metadata
Meta-Process Modeling
Executable Meta-Modeling
Model Language Transformation
Metamodel zoos
A library of similar metamodels has been called a Zoo of metamodels. There are
various types of zoo meta-model parks. Some are expressed in ECORE. Others
are written in MOF 1.4 - XMI 1.2 - The metamodels expressed in UML-XMI 1.2 are
you can load into Poseidon for UML, a UML CASE tool.