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

Introduction

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.

Metamodels

Common Warehouse Metamodel (CWM), version 1.0

Huge metamodel consisting of metamodels of several technologies, such as relational databases, XML, OLAP, data mining and others.

metamodel | JMI tags

Meta-Object Facility (MOF), version 1.4

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

MetaBoss Enterprise Metamodel

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

OMEGA Metamodel.

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 XML Metamodel, version 1.0

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

Unified Modeling Language (UML), version 1.3

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

Unified Modeling Language (UML), version 1.4

Version 1.4 of UML metamodel.

metamodel | JMI tags

Unified Modeling Language (UML), version 1.5

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)