CWM, as described in OMG documents formal/2001-10-01 and formal/2001-10-270, is a modeling language that is specifically meant to model data warehousing applications. The metamodel has a lot in common with the UML metamodel, but it has a number of special metaclasses, for example, for modeling relational databases. The developers of CWM have removed everything from UML that was not needed for their purpose, and added the specific data warehousing details. The behavioral parts of the UML metamodel (like statemachines or collaborations) are not in CWM. Because data warehousing is a technology that combines information from many different sources, the CWM metamodel includes simple metamodels for a number of things:
As can be seen from the (partial) list above, CWM has a very broad scope. Most of the individual metamodels for the various areas are targeted towards warehousing applications and cannot be used in more general applications without additions and/or changes. The CWM metamodel(s) are all modeled using the MOF. Therefore, they can all be used as source or target for MDA transformations. |