Meta-modeling technique
   HOME

TheInfoList



OR:

A metamodel or surrogate model is a model of a model, and metamodeling is the process of generating such metamodels. Thus metamodeling or meta-modeling is the analysis, construction and development of the frames, rules, constraints, models and theories applicable and useful for
modeling A model is an informative representation of an object, person or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a measure. Models c ...
a predefined class of problems. As its name implies, this concept applies the notions of
meta- Meta (from the Greek μετά, ''meta'', meaning "after" or "beyond") is a prefix meaning "more comprehensive" or "transcending". In modern nomenclature, ''meta''- can also serve as a prefix meaning self-referential, as a field of study or endea ...
and modeling in
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
and systems engineering. Metamodels are of many types and have diverse applications.


Overview

A metamodel/ surrogate model is a model of the model, i.e. a simplified model of an actual model of a circuit, system, or software like entity. Metamodel can be a mathematical relation or algorithm representing input and output relations. A
model A model is an informative representation of an object, person or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a measure. Models c ...
is an abstraction of phenomena in the real world; a metamodel is yet another abstraction, highlighting properties of the model itself. A model conforms to its metamodel in the way that a computer program conforms to the grammar of the programming language in which it is written. Various types of metamodels include polynomial equations, neural network,
Kriging In statistics, originally in geostatistics, kriging or Kriging, also known as Gaussian process regression, is a method of interpolation based on Gaussian process governed by prior covariances. Under suitable assumptions of the prior, kriging giv ...
, etc. "Metamodeling" is the construction of a collection of "concepts" (things, terms, etc.) within a certain domain. Metamodeling typically involves studying the output and input relationships and then fitting right metamodels to represent that behavior. Common uses for metamodels are: * As a
schema The word schema comes from the Greek word ('), which means ''shape'', or more generally, ''plan''. The plural is ('). In English, both ''schemas'' and ''schemata'' are used as plural forms. Schema may refer to: Science and technology * 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 * As a mechanism to create tools that work with a broad class of models at run time * As a schema for modeling and automatically exploring sentences of a language with applications to automated test synthesis * As an approximation of a higher-fidelity model for use when reducing time, cost, or computational effort is necessary Because of the "meta" character of metamodeling, both the
praxis Praxis may refer to: Philosophy and religion * Praxis (process), the process by which a theory, lesson, or skill is enacted, practised, embodied, or realised * Praxis model, a way of doing theology * Praxis (Byzantine Rite), the practice of fai ...
and theory of metamodels are of relevance to
metascience Metascience (also known as meta-research) is the use of scientific methodology to study science itself. Metascience seeks to increase the quality of scientific research while reducing inefficiency. It is also known as "''research on research''" ...
,
metaphilosophy Metaphilosophy, sometimes called the philosophy of philosophy, is "the investigation of the nature of philosophy". Its subject matter includes the aims of philosophy, the boundaries of philosophy, and its methods. Thus, while philosophy character ...
, metatheories and systemics, and meta-consciousness. The concept can be useful in mathematics, and has practical applications in
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includi ...
and computer engineering/
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
. The latter are the main focus of this article.


Topics


Definition

In
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
, the use of
model A model is an informative representation of an object, person or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a measure. Models c ...
s is an alternative to more common code-based development techniques. A model always conforms to a unique metamodel. One of the currently most active branch of
Model Driven Engineering Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract r ...
is the approach named
model-driven architecture Model Driven Architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model Driven Architecture is a kind of doma ...
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 The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
,
SysML The Systems Modeling Language (SysML) is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems. S ...
, SPEM or CWM.
ISO ISO is the most common abbreviation for the International Organization for Standardization. ISO or Iso may also refer to: Business and finance * Iso (supermarket), a chain of Danish supermarkets incorporated into the SuperBest chain in 2007 * Iso ...
has also published the standard metamodel
ISO/IEC 24744 ISO/IEC 24744 ''Software Engineering — Metamodel for Development Methodologies'' is an ISO/ IEC standard for software engineering metamodelling for development methodologies. It defines a metamodel from which development methodologies (so ...
. All the languages presented below could be defined as MOF metamodels.


Metadata modeling

Metadata modeling Metadata modeling is a type of metamodeling used in software engineering and systems engineering for the analysis and construction of models applicable to and useful for some predefined class of problems. Meta-modeling is the analysis, constructio ...
is a type of metamodeling used in
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
and systems engineering for the analysis and construction of models applicable and useful to some predefined class of problems. (see also: data modeling).


Model transformations

One important move in
model-driven engineering Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract ...
is the systematic use of model transformation languages. The OMG has proposed a standard for this called
QVT QVT (Query/View/Transformation) is a standard set of languages for model transformation defined by the Object Management Group. Overview Model transformation is a key technique used in model-driven architecture. As the name QVT indicates, the ...
for Queries/Views/Transformations.
QVT QVT (Query/View/Transformation) is a standard set of languages for model transformation defined by the Object Management Group. Overview Model transformation is a key technique used in model-driven architecture. As the name QVT indicates, the ...
is based on the meta-object facility (MOF). Among many other model transformation languages (MTLs), some examples of implementations of this standard are AndroMDA,
VIATRA VIATRA is an open-source model transformation framework based on the Eclipse Modeling Framework (EMF) and hosted by the Eclipse Foundation. VIATRA supports the development of model transformations with specific focus on event-driven, reactive t ...
,
Tefkat Tefkat is a model transformation language and a model transformation engine. The language is based on F-logic and the theory of stratified logic programs. The engine is an Eclipse plug-in for the Eclipse Modeling Framework (EMF). History T ...
, MT, ManyDesigns Portofino.


Relationship to ontologies

Meta-models are closely related to
ontologies In computer science and information science, an ontology encompasses a representation, formal naming, and definition of the categories, properties, and relations between the concepts, data, and entities that substantiate one, many, or all domains ...
. 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 ontologies are modeled ''explicitly'' as metamodels".


Types of metamodels

For software engineering, several ''types'' of models (and their corresponding modeling activities) can be distinguished: *
Metadata modeling Metadata modeling is a type of metamodeling used in software engineering and systems engineering for the analysis and construction of models applicable to and useful for some predefined class of problems. Meta-modeling is the analysis, constructio ...
(MetaData model) *
Meta-process modeling Meta-process modeling is a type of metamodeling used in software engineering and systems engineering for the analysis and construction of models applicable and useful to some predefined problems. Meta-process modeling supports the effort of crea ...
(MetaProcess model) *Executable meta-modeling (combining both of the above and much more, as in the general purpose tool
Kermeta Kermeta is a modeling and programming language for Metamodeling, metamodel engineering. History The Kermeta language was initiated by Franck Fleurey in 2005 within thTriskellteam of IRISA (gathering researchers of the INRIA, CNRS, Institut nationa ...
) * Model transformation language (see below) *
Polynomial metamodel In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
s * Neural network metamodels *
Kriging In statistics, originally in geostatistics, kriging or Kriging, also known as Gaussian process regression, is a method of interpolation based on Gaussian process governed by prior covariances. Under suitable assumptions of the prior, kriging giv ...
metamodels * Piecewise polynomial (spline) metamodels *
Gradient-enhanced kriging Gradient-enhanced kriging (GEK) is a surrogate modeling technique used in engineering. A surrogate model (alternatively known as a metamodel, response surface or emulator) is a prediction of the output of an expensive computer code. This predi ...
(GEK)


Zoos of metamodels

A library of similar metamodels has been called a Zoo of metamodels. There are several types of meta-model zoos.AtlanticZoo
.
Some are expressed in ECore. Others are written in MOF 1.4 – XMI 1.2. The metamodels expressed in
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
- XMI1.2 may be uploaded in Poseidon for UML, a
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
CASE tool.


See also

*
Business reference model Business reference model (BRM) is a reference model, concentrating on the functional and organizational aspects of the core business of an enterprise, service organization or government agency. In enterprise engineering a business reference mode ...
*
Data governance Data governance is a term used on both a macro and a micro level. The former is a political concept and forms part of international relations and Internet governance; the latter is a data management concept and forms part of corporate data govern ...
*
Model-driven engineering Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract ...
(MDE) *
Model-driven architecture Model Driven Architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model Driven Architecture is a kind of doma ...
(MDA) * Domain Specific Language (DSL) * Domain-Specific Modeling (DSM) *
Generic Eclipse Modeling System Generic Eclipse Modeling System (GEMS) is a configurable toolkit for creating domain-specific modeling and program synthesis environments for Eclipse. The project aims to bridge the gap between the communities experienced with visual metamodeling ...
(GEMS) *
Kermeta Kermeta is a modeling and programming language for Metamodeling, metamodel engineering. History The Kermeta language was initiated by Franck Fleurey in 2005 within thTriskellteam of IRISA (gathering researchers of the INRIA, CNRS, Institut nationa ...
(Kernel Meta-modeling) * Metadata *
MetaCASE tool A metaCASE tool is a type of application software that provides the possibility to create one or more modeling methods, languages or notations for use within the process of software development. Often the result is a modeling tool for that language ...
(tools for creating tools for
computer-aided software engineering Computer-aided software engineering (CASE) is the domain of software tools used to design and implement applications. CASE tools are similar to and were partly inspired by Computer-Aided Design (CAD) tools used for designing hardware products. CAS ...
tools) *
Method engineering Method engineering in the "field of information systems is the discipline to construct new methods from existing methods".F. Harmsen & M. Saeki (1996). "Comparison of four method engineering languages". In: Sjaak Brinkkemper et al. (eds.) '' ...
* MODAF Meta-Model * MOF Queries/Views/Transformations (MOF QVT) * Object Process Methodology *
Requirements analysis In systems engineering and software engineering, requirements analysis focuses on the tasks that determine the needs or conditions to meet the new or altered product or project, taking account of the possibly conflicting requirements of the ...
*
Space mapping The space mapping methodology for modeling and design optimization of engineering systems was first discovered by John Bandler in 1993. It uses relevant existing knowledge to speed up model generation and design optimization of a system. The kno ...
* Surrogate model *
Transformation language A transformation language is a computer language designed to transform some input text in a certain formal language into a modified output text that meets some specific goal. Program transformation systems such as Stratego/XT, TXL, Tom, DMS, ...
*
VIATRA VIATRA is an open-source model transformation framework based on the Eclipse Modeling Framework (EMF) and hosted by the Eclipse Foundation. VIATRA supports the development of model transformations with specific focus on event-driven, reactive t ...
(Viatra) *
XML transformation language An XML transformation language is a programming language designed specifically to transform an ''input'' XML document into an ''output'' document which satisfies some specific goal. There are two special cases of transformation: * XML to XML: ...
(XML TL)


References


Further reading

* * Booch, G., Rumbaugh, J., Jacobson, I. (1999), ''The Unified Modeling Language User Guide'', Redwood City, CA: Addison Wesley Longman Publishing Co., Inc. * J. P. van Gigch, ''System Design Modeling and Metamodeling'', Plenum Press, New York, 1991 * Gopi Bulusu, hamara.in, 200
''Model Driven Transformation''
* P. C. Smolik
''Mambo Metamodeling Environment''
Doctoral Thesis, Brno University of Technology. 2006 * Gonzalez-Perez, C. and B. Henderson-Sellers, 2008. Metamodelling for Software Engineering. Chichester (UK): Wiley. 210 p.  * M.A. Jeusfeld, M. Jarke, and J. Mylopoulos, 2009. Metamodeling for Method Engineering. Cambridge (USA): The MIT Press. 424 p. , Open access via http://conceptbase.sourceforge.net/2021_Metamodeling_for_Method_Engineering.pdf * G. Caplat ''Modèles & Métamodèles'', 2008 - * Fill, H.-G., Karagiannis, D., 2013
''On the Conceptualisation of Modelling Methods Using the ADOxx Meta Modelling Platform''
Enterprise Modelling and Information Systems Architectures, Vol. 8, Issue 1, 4-25. {{Meta-prefix Software design Scientific modelling