Metamodel

from Wikipedia, the free encyclopedia

The term metamodel is made up of the prefix meta- (in this context Greek for “over” or “next to”) and the model term used in (business) computer science. The prefix indicates that in this model statements are made on a higher content level than is otherwise usual in models.

Models basically refer to some kind of original (cf. Stachowiak 1973), the specialty of the metamodel is that its original is part of a model creation. However, this original is not itself a model - the statement that a metamodel is a "model about models" is therefore only indirectly applicable.

The metamodel describes a specific aspect of the creation of conceptual or formal description models as a model. Different aspects of the modeling can be represented. The most widespread is the concept of the language-based metamodel; process-based metamodels are also specified as part of the development of modeling methods. Strahringer coined the term metaization or the metaization principle for the formation of models across levels of abstraction. The metaization principle determines which aspect (procedure or language) is abstracted (Strahringer). The term metamodel does not assign an absolute property to a model, but rather describes the relationship of the model to other models.

Scheme for example

As an example: If a model M1 (directly) describes the language S0 in which a model M0 is formulated, then M1 is a (language-based) metamodel for M0 ( indirect model). Furthermore, if a model M2 (directly) describes the language S1 in which M1 was formulated, M2 is correspondingly a metamodel for M1, compared to M0, however, M2 is a meta-metamodel.

Definition of terms

The reference model is an exemplary model. For example, M0 could have been developed by adapting a model M0 2 formulated like M0 in language S0. M0 and its reference model M0 2 would then have the same metamodel M1.

The standard model is similar to the reference model for a specific single model that is authentic but unlike the reference model more or less.

The metamodel is therefore comparable to a construction kit. Reference models and standard models are (exemplary or binding) structures made up of elements of this construction kit.

Language-based metamodel

Language-based metaization according to Strahringer

A language-based metamodel represents the elements of a modeling language and their relationships in a model - the modeled original is therefore a modeling language. As a rule, it is a static model of the conceptual aspect of this language or its abstract syntax .

Language-based metamodels are, for example, the metamodel of the Unified Modeling Language or the Common Warehouse Metamodel . Both models are specified using the meta description language MOF of the Object Management Group . Entity relationship models are also used for metamodelling (e.g. at Scheer, within the specification of the ARIS model architecture).

If the concept of the model is defined more broadly and also includes textual representations, for example an XML DTD or an XML schema definition can also be regarded as a language-based metamodel, since it applies to a number of models (in the form of XML documents) Language defined. Similar can be developed for other formal sign systems (e.g. programming languages).

Process-based metamodel

Process-based metaization according to Strahringer

A process-based metamodel describes the process of creating a model with a certain modeling method - the original is a real-world process (namely that of the modeling by a model creator). It is therefore a process-describing model that specifies instructions and sequence specifications for creating a model (e.g. the model of an operational organization or software to be developed ). In this context, one speaks of procedural models .

Examples of such process models can be found, for example, at ARIS (cf. Scheer 1992; there the process-based metamodel is modeled as an event-driven process chain) or the semantic object model (Ferstl / Sinz 2001). The UML lacks a concrete procedure model - a standardized procedure for creating UML models is not part of the UML specification, which is limited to the linguistic aspect of the modeling. However, process models such as the Rational Unified Process (RUP) are based on the use of UML as the modeling language and can be regarded as process-based metamodels for models formulated in UML.

In software engineering , methods are also used in this context - but the terms are used inconsistently. Greiffenberg (2003), for example, regards the method as a composition of language (i.e. language-based metamodel) and procedure (process-based metamodel). In Holten's work, this composition is called a technique , and in his opinion methods can be composed of various such techniques.

Further metamodel conceptions

In addition to a language-based metaization, Atkinson and Kuehne propose an abstraction on an ontological basis . The types are not formed using the symbols and symbol systems they represent, but are abstracted in the sense of a technical generalization / specialization. Language-based and ontology-based metaization, however, are not completely clear-cut, since linguistic signs are often also based on a technical abstraction (especially in the case of languages ​​that are used to model real-world phenomena). This aspect plays a central role, particularly with domain-specific languages , since the language-based metamodel is specifically tailored to abstract concepts of the domain and their relationships.

Alvarez considers metaization primarily on a technical level and breaks up the strict, layered hierarchy of metamodel relationships. Especially at the implementation level of modeling or general system development tools, the differently abstract elements are often not separated from one another.

In simulation technology and in the field of computer simulation, metamodels are usually understood as approximation methods such as B. splines , regression and neural networks , since with their help complex simulations can be "downscaled" to less computationally intensive calculations. The original model is simplified iteratively or batch-wise with the help of defined calculation rules.

Self-referential meta-models

The concept of metaization allows a potentially infinite number of levels of abstraction, since the modeling language used can always be the subject of a new (meta) model. At higher levels of metaization, however, such an abstraction no longer makes sense. Self-referential metamodels are used here. An example of this is MOF , which as a meta description language not only describes subordinate languages ​​such as UML or CWM , but also itself.

Another example would be an ERM , which structurally maps the relationships of entity types , relationship types and cardinalities . Self-referential metamodels are usually language-based.

Metamodeling in method engineering

The creation of metamodels is a central component of method engineering in the field of conceptual modeling.

See also

literature

Individual evidence

  1. H. Stachowiak: General model theory. Vienna 1973, ISBN 3-211-81106-0 .
  2. Alexander Hars: Reference data models: Basics of efficient data modeling. In: books.google.de. P. 15 , accessed on August 14, 2015 .
  3. Transactions and workflows - process standardization and process models. (PDF) In: vsis-informatik.uni-hamburg.de. Retrieved August 14, 2015 .
  4. S. Strahringer: Metamodeling as an instrument for comparing methods: An evaluation using the example of object-oriented analysis methods. Shaker Verlag , Aachen 1996.
  5. ^ AW Scheer: Architecture of Integrated Information Systems. Springer, Berlin 1992, ISBN 3-540-55401-7 .
  6. S. Strahringer: Metamodeling as an instrument for comparing methods: An evaluation using the example of object-oriented analysis methods. Shaker Verlag, Aachen 1996.
  7. ^ AW Scheer: Architecture of Integrated Information Systems. Springer, Berlin 1992, ISBN 3-540-55401-7 .
  8. ^ OK Ferstl, EJ Sinz: Basics of business informatics. 4th, revised and expanded edition. Oldenbourg, Munich / Vienna 2001.
  9. ^ S. Greiffenberg: Method development in economy and administration. Publishing house Dr. Kovac, Hamburg 2003.
  10. ^ R. Holten: Development of management information systems. A method-oriented approach. Wiesbaden 1999.
  11. C. Atkinson, T. Kühne: Model-Driven Development: A Metamodeling Foundation. (PDF; 185 kB). 2003.
  12. J. Álvarez, A. Evans, P. Sammut: Mapping between Levels in the Metamodel Architecture. In: M. Gogola, C. Kobryn (Eds.): UML 2001 - The Unified Modeling Language: Modeling Languages, Concepts and Tools. (= Lecture Notes in Computer Science. 2185). Springer, Berlin 2001, pp. 34-46.
  13. ^ S. Greiffenberg: Method development in economy and administration. Publishing house Dr. Kovac, Hamburg 2003.
  14. MA Jeusfeld, M. Jarke, J. Mylopoulos (ed.): Metamodeling for Method Engineering. MIT Press, Cambridge MA 2009, ISBN 978-0-262-10108-0 .