Previous Table of Contents Next


1.3.2 The Relationship between CWM and UML


   A primary objective of the CWM is to define a metamodel (or, equivalently, a “metadata model?) of a generic data warehouse architecture. Thus, the CWM metamodel defines formal rules for modeling instances of data warehouses. However, there is also a requirement for the CWM metamodel to be expressed in MOF (and thus enabled for interchange via either CORBA interfaces or XMI).

   The CWM metamodel includes an Object Model package, which is based on the UML metamodel. It consists of a version of the UML metamodel in which those aspects that are not relevant in a data warehouse scenario have been removed. This Object Model serves two purposes:

   The CWM metamodel is effectively an extension of the UML-based Object Model. Any metaclass within CWM ultimately (if not directly) inherits from some metaclass of the Object Model. For example, consider the CWM Relational Package. The Relational metamodel defines a metaclass called “Table? that represents any relational database table. This metaclass derives from the Object Model metaclass “Class.? Similarly, the Relational metaclass “Column? derives from the Object Model metaclass “Attribute.? This formally establishes the semantic relationship between the relational concepts of Table and Column that it is well understood intuitively; that is, thata Table is “something? that has properties (or attributes) and serves as a template for a collection of “things;? that is, rows that all share that same set of properties but supply their own “values? of those properties. The semantic equivalent in UML is the notion of a Class and its Attributes, and this equivalence is established by defining Table as a specialization of the notion of Class, and Column as a specialization of Attribute.

   The UML specification is also used in the following ways: