Recent from talks
Nothing was collected or created yet.
Metamodeling
View on Wikipedia

A metamodel 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 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.[2]
Overview
[edit]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.[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 the 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 networks, 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 the right metamodels to represent that behavior.
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
- 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 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.
Topics
[edit]



Definition
[edit]In software engineering, the use of models is an alternative to more common code-based development techniques. A model always conforms to a unique metamodel. One of the currently most active branches of Model Driven Engineering is the approach named model-driven architecture proposed by OMG. This approach is embodied in the Meta Object Facility (MOF) specification.[citation needed]
Typical metamodelling specifications 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
[edit]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
[edit]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 (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
[edit]Meta-models are closely related to ontologies. Both are often used to describe and analyze the relations between concepts:[7]
- Ontologies: express something meaningful within a specified universe or domain of discourse by utilizing 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.[8]
- 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.[9] "A valid metamodel is an ontology, but not all ontologies are modeled explicitly as metamodels."[8]
Types of metamodels
[edit]For software engineering, several types of models (and their corresponding modeling activities) can be distinguished:
- Metadata modeling (MetaData model)
- Meta-process modeling (MetaProcess model)
- Executable meta-modeling (combining both of the above and much more, as in the general purpose tool Kermeta)
- Model transformation language (see below)
- Polynomial metamodels[10]
- Neural network metamodels
- Kriging metamodels
- Piecewise polynomial (spline) metamodels
- Gradient-enhanced kriging (GEK)
Zoos of metamodels
[edit]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
[edit]- Business reference model
- Data governance
- Model-driven engineering (MDE)
- Model-driven architecture (MDA)
- Domain-specific language (DSL)
- Domain-specific modeling (DSM)
- Generic Eclipse Modeling System (GEMS)
- Kermeta (Kernel Meta-modeling)
- Metadata
- MetaCASE tool (tools for creating tools for computer-aided software engineering tools)
- Method engineering
- MODAF Meta-Model
- MOF Queries/Views/Transformations (MOF QVT)
- Object Process Methodology
- Requirements analysis
- Space mapping
- Surrogate model
- Transformation language
- VIATRA (Viatra)
- XML transformation language (XML TL)
References
[edit]- ^ 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.
- ^ 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.
- ^ Oleg Garitselov, Saraju Mohanty, and Elias Kougianos, "A Comparative Study of Metamodels for Fast and Accurate Simulation of Nano-CMOS Circuits Archived 23 September 2015 at the Wayback Machine", IEEE Transactions on Semiconductor Manufacturing (TSM), Vol. 25, No. 1, February 2012, pp. 26–36.
- ^ Saraju Mohanty Ultra-Fast Design Exploration of Nanoscale Circuits through Metamodeling Archived 23 September 2015 at the Wayback Machine, Invited Talk, Semiconductor Research Corporation (SRC), Texas Analog Center for Excellence (TxACE), 27 April 2012.
- ^ FEA (2005) FEA Records Management Profile, Version 1.0. December 15, 2005.
- ^ International Organization for Standardization / International Electrotechnical Commission, 2007. ISO/IEC 24744. Software Engineering - Metamodel for Development Methodologies.
- ^ 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
- ^ a b Pidcock, Woody (2003), What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model?, archived from the original on 14 October 2009, retrieved 10 October 2009
- ^ Ernst, Johannes (2002), What is metamodeling, and what is it good for?, archived from the original on 9 October 2011, retrieved 9 October 2009
- ^ Saraju Mohanty and Elias Kougianos, "Polynomial Metamodel Based Fast Optimization of Nano-CMOS Oscillator Circuits Archived 10 August 2014 at the Wayback Machine", Springer Analog Integrated Circuits and Signal Processing Journal, Volume 79, Issue 3, June 2014, pp. 437–453.
- ^ Jean-Marie Favre: Towards a Basic Theory to Model Driven Engineering. Archived 15 October 2006 at the Wayback Machine.
- ^ AtlanticZoo Archived 29 April 2006 at the Wayback Machine.
Further reading
[edit]- Saraju Mohanty (2015). "Chapter 12 Metamodel-Based Fast AMS-SoC Design Methodologies". Nanoelectronic Mixed-Signal System Design. McGraw-Hill. ISBN 978-0071825719.
- 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, 2004 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. ISBN 978-0-470-03036-3
- M.A. Jeusfeld, M. Jarke, and J. Mylopoulos, 2009. Metamodeling for Method Engineering. Cambridge (USA): The MIT Press. 424 p. ISBN 978-0-262-10108-0, Open access via https://conceptbase.sourceforge.net/2021_Metamodeling_for_Method_Engineering.pdf
- G. Caplat Modèles & Métamodèles, 2008 - ISBN 978-2-88074-749-7 (in French)
- 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.
Metamodeling
View on GrokipediaFundamentals
Definition and Purpose
Metamodeling is the process of constructing a model that defines the elements, rules, and constraints of a modeling language itself, thereby specifying the abstract syntax, semantics, and structure necessary for creating valid models within that language.[3] This approach treats modeling languages as subjects of modeling, allowing for the precise definition of how models can be formed and interpreted.[6] The primary purpose of metamodeling is to enable the creation of reusable and standardized definitions for modeling languages, which underpins model-driven engineering (MDE) by facilitating the development of domain-specific languages and automated tool support.[3] It promotes interoperability among diverse modeling tools and platforms by establishing common metamodels that ensure models adhere to consistent rules, thereby streamlining processes such as validation and integration across systems.[7] A key distinction exists between modeling and metamodeling: models operate at the M1 level of the modeling hierarchy, describing domain-specific instances or entities (e.g., a UML class diagram representing software components), while metamodels reside at the M2 level, defining the rules and constructs that govern those models (e.g., the UML metamodel specifying what constitutes a valid class diagram).[8] This separation establishes a foundational abstraction layer where the M0 level represents real-world data instances conforming to M1 models.[6] Fundamental benefits of metamodeling include the provision of abstraction layers that reduce complexity in large-scale systems, enhance consistency in model creation and usage, and enable automation of downstream processes such as code generation and model transformations.[3] By formalizing these layers, metamodeling supports scalable engineering practices that improve productivity and maintainability without delving into implementation-specific details.[9]Historical Development
The roots of metamodeling trace back to the 1970s in database theory, where early efforts focused on metadata concepts and conceptual modeling to represent data structures and relationships more semantically. Peter Chen introduced the entity-relationship (ER) model in 1976, providing a foundational framework for diagramming entities, attributes, and relationships in databases, which laid groundwork for higher-level abstractions in modeling.[10] This period also saw the emergence of computer-aided software engineering (CASE) tools that incorporated metadata services for managing data about data, influencing subsequent metamodeling practices.[11] The 1980 Pingree Park Workshop on Data Abstraction, Databases, and Conceptual Modeling further solidified these ideas by uniting researchers from artificial intelligence, database management, and programming languages to discuss unified approaches to modeling real-world semantics.[12] The formalization of metamodeling accelerated in the 1990s through the Object Management Group (OMG), which sought standardized frameworks for software modeling. In parallel with the development of the Unified Modeling Language (UML), the OMG issued a request for proposals leading to the Meta-Object Facility (MOF), a language for defining metamodels; MOF version 1.0 was adopted in November 1997, establishing a four-layer architecture (M0: data, M1: models, M2: metamodels, M3: meta-metamodel) that enabled self-describing modeling languages.[13] This adoption coincided with UML 1.1's standardization, marking metamodeling's shift from ad hoc database techniques to a rigorous, layered paradigm for software engineering. The evolution from ER modeling to this layered metamodeling emphasized semantic richness and reusability, transforming static data diagrams into dynamic, extensible model definitions.[14] The 2000s expanded metamodeling through the OMG's Model-Driven Architecture (MDA), formally introduced in 2001 to promote platform-independent models transformed into executable code via metamodel standards like MOF and UML.[15] French researcher Jean Bézivin played a pivotal role, coining the term Model-Driven Engineering (MDE) around 2005 and advocating for metamodel-based transformations and open standards to handle complex, evolving software systems.[16] Bézivin's work, including foundational papers on MDE principles like direct representation and automation, influenced widespread adoption of metamodeling in industry and academia.[17] This era built on 1990s foundations, emphasizing metamodels as enablers for automated model-to-model and model-to-code generation. In the 2010s, metamodeling integrated deeply with domain-specific languages (DSLs), enabling tailored modeling environments through metamodel extensions and composition techniques.[18] Frameworks like Eclipse Modeling Framework (EMF) facilitated DSL development by defining metamodels that generated editors and interpreters, as seen in case studies for multimedia and real-time systems.[19] Post-2020 developments have incorporated AI-assisted metamodeling for automated generation and validation, such as in IoT interoperability testing, alongside integrations with semantic web technologies for enhanced knowledge representation—paralleling ontology evolutions in semantic modeling.[20][21] These advances, up to 2025, focus on scalability for big data and AI-driven systems while maintaining MOF-compliant architectures.Core Concepts
Metadata Modeling
In metamodeling, metadata serves as self-describing information that captures the structure, semantics, and constraints of models, enabling them to represent data about data in a formalized manner. Metamodels act as the foundational schemas that define how this metadata is organized, stored, and retrieved, ensuring consistency and interoperability across modeling tools and environments. For instance, the Meta Object Facility (MOF) standard from the Object Management Group (OMG) establishes metamodeling as a means to create information models specifically for metadata, allowing models to be expressed in a way that supports tool-independent representation and manipulation.[22] Key techniques in metadata modeling leverage reflective metamodels, which enable models to introspect and query their own structure dynamically. Through reflection, elements within a model can access meta-level information—such as classes, properties, and operations—facilitating runtime adaptation and self-description without external dependencies. This is particularly evident in MOF's reflection package, which provides operations likegetMetaClass() to traverse metalayers and discover metadata. In repositories, these techniques support essential functions like version control, where metadata tracks changes across model iterations, and validation, ensuring compliance with metamodel constraints before storage or interchange.[22]
Practical examples illustrate metadata modeling's application. In database contexts, relational schemas are represented via metamodels that abstract tables as entity types, columns as attributes, and keys as constraints, as seen in unified frameworks like U-Schema, which maps relational structures (e.g., MySQL schemas) to a common metamodel for logical representation. Similarly, XML-based standards such as the XML Metadata Interchange (XMI) utilize metamodels to serialize and exchange model metadata, defining XML elements and attributes that conform to MOF-compliant schemas for seamless tool interoperability.[23][24]
A primary challenge in metadata modeling arises in large-scale systems, where achieving completeness—capturing all necessary descriptive elements across multiple abstraction levels—must balance against redundancy, which can lead to inconsistent representations and inefficient storage. Without unified manipulation mechanisms, such as homogeneous languages for data and metadata operations, systems risk fragmented metadata that hinders extensibility and interoperability, particularly in environments like distributed databases or quality-of-service managers.[25]