Metamodel
(Redirected from Model Framework)
Jump to navigation
Jump to search
A Metamodel is a model that can be used to define other more constrained models through abstract specifications of model structure, components, and relationships.
- AKA: Model of Models, Model Template, Modeling Framework, Meta-Level Model.
- Context:
- It can typically be defined as a modeling language for specifying model structures.
- It can typically be created by a metamodel creation task (metamodeling).
- It can typically contain one or more free model parameters that enable model instantiation.
- It can typically define metamodel elements that represent model components.
- It can typically specify metamodel constraints that govern model generation.
- It can typically abstract Common Model Patterns across model instance families.
- It can typically provide Model Generation Rules for creating conformant models.
- It can typically incorporate model variables for representing dynamic system aspects.
- ...
- It can often establish metamodel relationships between metamodel elements.
- It can often support model transformation through metamodel mappings.
- It can often enable model validation via metamodel rules.
- It can often facilitate supervised learning tasks through model family specification.
- It can often define Model Conformance Criteria for model instance verification.
- It can often support Model Evolution through metamodel versioning.
- It can often enable Model Interoperability through metamodel standards.
- ...
- It can range from being an Informal Metamodel to being a Formal Metamodel, depending on its metamodel specification rigor.
- It can range from being a Simple Metamodel to being a Complex Metamodel, depending on its metamodel element count.
- It can range from being a Domain-Specific Metamodel to being a General-Purpose Metamodel, depending on its metamodel application scope.
- It can range from being a Structural Metamodel to being a Behavioral Metamodel, depending on its metamodel focus aspect.
- It can range from being a Static Metamodel to being a Dynamic Metamodel, depending on its metamodel evolution capability.
- ...
- It can integrate with Model-Driven Development for automated system generation.
- It can support Model Repositorys through metamodel-based organization.
- It can enable Model Quality Assessment through metamodel-defined metrics.
- It can guide automated predictive modeling (ML) tasks through model template provision.
- ...
- Examples:
- Computational Metamodels, such as:
- Software Engineering Metamodels, such as:
- Process Metamodels, such as:
- Architecture Metamodels, such as:
- Mathematical Metamodels, such as:
- Equation-based Metamodels, such as:
- Statistical Metamodels, such as:
- Probabilistic Metamodels, such as:
- Learning-Based Metamodels, such as:
- Machine Learning Metamodels, such as:
- Supervised Learning Metamodels, such as:
- Information Metamodels, such as:
- Data Metamodels, such as:
- Knowledge Representation Metamodels, such as:
- Linguistic Metamodels, such as:
- Domain-Specific Metamodels, such as:
- Formal Metamodels implementing formal specifications, such as:
- Informal Metamodels using natural language specifications, such as:
- ...
- Computational Metamodels, such as:
- Counter-Examples:
- Data Models, which represent specific data structures rather than model templates.
- Function Families, which define specific mathematical function sets rather than model-defining frameworks.
- Model Instances, which implement concrete models without metamodel abstraction capability.
- AI-based System implementations, which use metamodels but are not themselves metamodels.
- Modeling Tools, which create models using metamodels but lack metamodel definition capability.
- Model Librarys, which collect model instances rather than defining model structures.
- Individual Model Parameters and Model Variables, which are metamodel components rather than complete metamodels.
- See: Abstract Entity, Model-Driven Engineering, Meta-Metamodel, AI-based System Development Framework, Model Transformation, Mathematical Metamodel, Modeling Language, Model Theory, Model Parameter, Model Variable, Supervised Learning Task, Process Metamodel.
References
2011
- http://en.wikipedia.org/wiki/Metamodeling
- 'Metamodeling, or meta-modeling in software engineering and systems engineering among other disciplines, 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.
"Metamodeling" is the construction of a collection of "concepts" (things, terms, etc.) within a certain domain. 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.
- 'Metamodeling, or meta-modeling in software engineering and systems engineering among other disciplines, 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.
2004
- (Amatriain, 2004) ⇒ Xavier Amatriain. (2004). “An Object-Oriented Metamodel for Digital Signal Processing with a focus on Audio and Music." PhD Thesis.
- http://www.iua.upf.es/~xamat/Thesis/html/node2.html
- Model: A model can be understood as the formal abstract representation of a given system. A single system can be represented through different models, depending on the level of abstraction required and foreseen use.
1974
- (Baird, 1974) ⇒ Yonathan Bard. (1974). “Nonlinear Parameter Estimation." Academic Press. ISBN:0120782502
- QUOTE: We refer to the relations which supposedly describe a certain physical situation, as a model. Typically, a model consists of one or more equations. The quantities appearing in the equations we classify into variables and parameters. The distinction between these is not always clear cut, and it frequently depends on the context in which the variables appear. Usually a model is designed to explain the relationships that exist among quantities which can be measured independently in an experiment; these are the variables of the model. To formulate these relationships, however, one frequently introduces “constants" which stand for inherent properties of nature (or of the materials and equipment used in a given experiment). These are the parameters.