Metamodeling

"Meta model" redirects here. For other uses, see Meta model (disambiguation).
Example of a Geologic map information meta-model, with four types of meta-objects, and their self-references.[1]

Metamodel or surrogate model is a model of a model, and metamodeling is the process of generating such metamodels. Metamodeling or meta-modeling is the analysis, construction and development of the frames, rules, constraints, models and theories applicable and useful for modeling a predefined class of problems. As its name implies, this concept applies the notions of meta- and modeling in software engineering and systems engineering. Metamodels are of many types and have diverse applications. A thorough discussion is presented in the following text. [2]

Overview

A metamodel or 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. [3] [4] Metamodel can be a mathematical relation or algorithm representing input and output relations. A model 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, 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:

Because of the "meta" character of metamodeling, both the praxis and theory of metamodels are of relevance to metascience, metaphilosophy, metatheories and systemics, and meta-consciousness. The concept can be useful in mathematics, and has practical applications in computer science and computer engineering/software engineering. The latter are the main focus of this article.

Metamodeling topics

Meta-Object Facility Illustration.
Example of an ontology.
A DoDAF metamodel.

Definition

In 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. ISO has also published the standard metamodel ISO/IEC 24744.[6] All the languages presented below could be defined as MOF metamodels.

Metadata modeling

Metadata 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 class of problems. (see also: data modeling).

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, MT, ManyDesigns Portofino.

Relationship to ontologies

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

Types of metamodels

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

Zoos of metamodels

A library of similar metamodels has been called a Zoo of metamodels.[11] There are several types of meta-model zoos.[12] 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.

See also

References

  1. David R. Soller et al. (2001) Progress Report on the National Geologic Map Database, Phase 3: An Online Database of Map Information Digital Mapping Techniques '01 -- Workshop Proceedings U.S. Geological Survey Open-File Report 01-223.
  2. Saraju Mohanty, Chapter 12 Metamodel-Based Fast AMS-SoC Design Methodologies, "Nanoelectronic Mixed-Signal System Design", ISBN 978-0071825719 and 0071825711, 1st Edition, McGraw-Hill, 2015.
  3. Oleg Garitselov, Saraju Mohanty, and Elias Kougianos, "A Comparative Study of Metamodels for Fast and Accurate Simulation of Nano-CMOS Circuits", IEEE Transactions on Semiconductor Manufacturing (TSM), Vol. 25, No. 1, February 2012, pp. 26--36.
  4. Saraju Mohanty Ultra-Fast Design Exploration of Nanoscale Circuits through Metamodeling, Invited Talk, Semiconductor Research Corportation (SRC), Texas Analog Center for Excellence (TxACE), 27 April 2012.
  5. FEA (2005) FEA Records Management Profile, Version 1.0. December 15, 2005.
  6. International Organization for Standardization / International Electrotechnical Commission, 2007. ISO/IEC 24744. Software Engineering - Metamodel for Development Methodologies.
  7. E. Söderström, et al. (2001) "Towards a Framework for Comparing Process Modelling Languages", in: Lecture Notes In Computer Science; Vol. 2348. Proceedings of the 14th International Conference on Advanced Information Systems Engineering. Pages: 600 – 611, 2001
  8. 1 2 Pidcock, Woody (2003), What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model?
  9. Ernst, Johannes (2002), What is metamodeling, and what is it good for?
  10. Saraju Mohanty and Elias Kougianos, "Polynomial Metamodel Based Fast Optimization of Nano-CMOS Oscillator Circuits", Springer Analog Integrated Circuits and Signal Processing Journal, Volume 79, Issue 3, June 2014, pp. 437--453.
  11. Jean-Marie Favre: Towards a Basic Theory to Model Driven Engineering..
  12. AtlanticZoo.

Further reading

Wikimedia Commons has media related to Metamodeling.
This article is issued from Wikipedia - version of the Thursday, September 03, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.