Metamodels Catalog
Contents:
- 1. Introduction
- 2. Metamodels
- Common Warehouse Metamodel (CWM), version
1.0
- Meta-Object Facility (MOF), version 1.4
- MetaBoss Enterprise Metamodel
- OMEGA Metamodel
- Simple XML Metamodel, version 1.0
- Unified Modeling Language (UML), version
1.3
- Unified Modeling Language (UML), version
1.4
- Unified Modeling Language (UML), version
1.5
The purpose of this document is to protect people from reinventing the wheel.
It lists known existing MOF metamodels that were tested with MDR. For some of
the metamodels it is necessary to add JMI tags to them in order to make them
map correctly to Java. For these metamodels (besides the link to the metamodel
itself) also a link to an additional XMI file decorating the existing metamodel
with the needed JMI tags is provided. To make use of the JMI tags, download both
the metamodel XMI file and the XMI file containing JMI tags (preserve original
name of the metamodel XMI file), put these files into the same directory and
import the XMI file containing JMI tags into MDR. This will cause that also the
metamodel XMI file will be loaded as the XMI file containing JMI tags references
the file containing the metamodel using hrefs.
If you know of other metamodels that you think are worth of sharing
(even the metamodels that you have created), please file
a new enhancement request against the MDR documentation in Issuezilla and we will
test these metamodels with MDR and add them to this page ASAP.
Huge metamodel consisting of metamodels of several technologies, such as
relational databases, XML, OLAP, data mining and others.
metamodel |
JMI tags
Metamodel of MOF itself. It consists of three outermost packages - Model,
PrimitiveTypes and CorbaIdlTypes, each of them can be downloaded either in
a separate file, or in one joint file containing all three packages.
The metamodel already contains all the necessary JMI tags.
MDR internally uses this metamodel for bootstraping.
Model package |
PrimitiveTypes package |
CorbaIdlTypes package |
whole metamodel (all packages) |
UML Profile for MOF
Metamodel of enterprise applications. It is used to model entire
enterprise with all its information systems, services, databases and
dependencies between them. Once enterprise application is modelled, a number
of code generators is used to create database schemas, middleware, web
services etc...
Metamodel and its description |
MetaBoss Enterprise UML Profile
This metamodel comes from Ingo Ott and Ralf Gitzel. Here is a few words about it from Ingo:
The metamodel is the Ontological Metamodel
Extension for Generative Architectures (OMEGA),
an extension to the MOF metamodel that allows
ontological metamodeling. The name already
suggests the most likely application of
metamodel hierarchies, i.e., code generation.
The extension has been implemented as a
prototype using the Java Metadata Interface
(JMI) and is available for download. With the
metamodel not only Linguistic metamodeling is
possible that serves the purpose of language
definition, but also ontological metamodeling,
that on the other hand, uses instantiation
relationships to categorize and restrain model
elements.
For more information on this metamodel including a whitepaper describing it please
see issue 46207.
metamodel
Simple metamodel of XML used in our sample module.
This metamodel is very similar to the metamodel in Appendix C of JMI
specification.
metamodel
|
Rational
Rose MDL file
Currently the most common version of UML metamodel across all well known UML tools.
Most important role of this metamodel currently is to provide
a standard interchange format for UML models. The format is derived from the
metamodel using XMI (mapping of MOF to XML). Most of the UML tools currently
support UML 1.3.
metamodel |
JMI tags
Version 1.4 of UML metamodel.
metamodel |
JMI tags
The most recent version of UML metamodel. This metamodel is distributed
by OMG together with DTD and IDL interfaces in a zip file linked below.
Two different diff files are available for the metamodel*. The first one
(JMI tags (NB)) follows NetBeans metamodel package prefixing schema (i.e.
the package prefixes are set to org.netbeans.jmi.uml15), the other one
follows original OMG package prefixing schema (i.e. package prefixes are
set to org.omg.java.uml). Download and unpack the zip containing the metamodel and
download one of the diffs into the same directory. Then import the diff
file (the metamodel will be imported automatically as it is referenced
from the diff).
* Both diff files for this metamodel were contributed by Roy Feldman. Thanks!
zip archive containing the metamodel
| JMI tags (NB)
| JMI tags (OMG)