The UML Metamodel

References

All references can be found at:

http://www.omg.org/technology/documents/modeling_spec_catalog.htm

The M0-M3 Layers of the MDA

M3 = Meta-metamodel
M2 = Metamodel
M1 = Model (some class diagrams)
M0 = Model instance (some object diagrams)
MOF = Meta Object Facility
CWM = Common Warehouse Metamodel
MDA = Model Driven Architecture

The Infrastructure Library

Profiles = mechanisms used to tailor UML to Java, C++, XML, EJB, CORBA, or domain models.

Core

The core bootstraps the rest of the system:

Primitive Types

Boolean
Integer
String
UnlimitedNatural

Abstractions

A model consists of many elements.

An element may have a name.

An element may own other elements and be owned by an element.

A type is an element.

An element may have a type.

Classifiers and features are elements.

A classifier owns many features.

A relationship is an element.

A relationship relates one or more elements.

A directed relationship relates a source element with one or more target elements.

Basic

A data type is a type.

A data type may be a primitive type or an enumeration.

A package is an element that contains other elements.

A class is a type with properties, operations, and super classes.

Constructs

Classes and associations are classifiers.

Classes and associations have properties.

An instance of a class is called an object.

An instance of an association is called a link.