Table of Contents
Common Warehouse Metamodel (CWM) Specification (V1.1)
1 Design Rationale
1.1 Design Overview
1.2 CWM and the MOF
1.2.1 An Overview of the MOF
1.2.2 The Relationship between CWM and MOF
1.3 CWM and UML
1.3.1 An Overview of UML
1.3.2 The Relationship between CWM and UML
1.4 CWM and XMI
1.4.1 An Overview of XMI
1.4.2 The Relationship between CWM and XMI
1.5 Design Rationale
1.5.1 Reuse of UML Concepts
1.5.2 Modularity
1.5.3 Generic Model
2 Usage Scenarios
2.1 Overview
2.2 Users of CWM
2.3 Usage Scenarios
2.3.1 ETL Scenario
2.3.2 OLAP Scenario
2.3.3 Questionnaire Scenario
2.3.4 Warehouse Administration Scenario
2.3.5 Tool Scenarios
3 CWM
3.1 Overview
3.1.1 The Roles of UML in CWM
3.2 Organization of the CWM
3.2.1 Modeling Conventions
3.3 How the CWM Metamodel is Described
3.3.1 Classes
3.3.2 Associations
4 ObjectModel
4.1 Overview
4.2 Organization of the ObjectModel Package
4.3 Core Metamodel
4.3.1 Core Data Types
4.3.2 Core Classes
4.3.3 Core Associations
4.3.4 OCL Representation of Core Constraints
4.4 Behavioral Metamodel
4.4.1 Behavioral Data Types
4.4.2 Behavioral Classes
4.4.3 Behavioral Associations
4.4.4 OCL Representation of Behavioral Constraints
4.5 Relationships Metamodel
4.5.1 Relationships Data Types
4.5.2 Relationships Classes
4.5.3 Relationships Associations
4.5.4 OCL Representation of Relationships Constraints
4.6 Instance Metamodel
4.6.1 Instance Classes
4.6.2 Instance Associations
4.6.3 OCL Representation of Instance Constraints
5 Foundation
5.1 Overview
5.2 Organization of the Foundation
5.3 Business Information Metamodel
5.3.1 BusinessInformation Classes
5.3.2 BusinessInformation Associations
5.3.3 OCL Representation of BusinessInformation Constraints
5.4 DataTypes Metamodel
5.4.1 DataTypes Classes
5.4.2 DataTypes Associations
5.4.3 OCL Representation of DataTypes Constraints
5.5 Expressions Metamodel
5.5.1 Expressions Classes
5.5.2 Expressions Associations
5.5.3 OCL Representation of Expressions Constraints
5.6 KeysIndexes Metamodel
5.6.1 KeysIndexes Classes
5.6.2 KeysIndexes Associations
5.6.3 OCL Representation of KeysIndexes Constraints
5.7 SoftwareDeployment Metamodel
5.7.1 SoftwareDeployment Classes
5.7.2 SoftwareDeployment Associations
5.7.5 OCL Representation of SoftwareDeployment Constraints
5.8 TypeMapping Metamodel
5.8.1 TypeMapping Classes
5.8.2 TypeMapping Associations
5.8.3 OCL Representation of TypeMapping Constraints
6 Relational
6.1 Overview
6.2 Organization of the Relational Package
6.2.1 Inheritance
6.2.2 Containers
6.2.3 Tables, Columns, and Data Types
6.2.4 Structured Types and Object Extensions
6.2.5 Keys
6.2.6 Index
6.2.7 Triggers
6.2.8 Procedures
6.2.9 Instances
6.3 Relational Classes
6.3.1 Catalog
6.3.2 CheckConstraint
6.3.3 Column
6.3.4 ColumnSet
6.3.5 ColumnValue
6.3.6 ForeignKey
6.3.7 NamedColumnSet
6.3.8 PrimaryKey
6.3.9 Procedure
6.3.10 QueryColumnSet
6.3.11 Row
6.3.12 RowSet
6.3.13 Schema
6.3.14 SQLDataType abstract
6.3.15 SQLDistinctType
6.3.16 SQLIndex
6.3.17 SQLIndexColumn
6.3.18 SQLParameter
6.3.19 SQLSimpleType
6.3.20 SQLStructuredType
6.3.21 Table
6.3.22 Trigger
6.3.23 UniqueConstraint
6.3.24 View
6.4 Relational Associations
6.4.1 ColumnOptionsColumnSet protected
6.4.2 ColumnRefStructuredType protected
6.4.3 ColumnSetOfStructuredType protected
6.4.4 DistinctTypeHasSimpleType Ends
6.4.5 TableOwningTrigger protected
6.4.6 TriggerUsingColumnSet protected
6.5 OCL Representation of Relational Constraints
7 Record
7.1 Overview
7.2 Organization of the Record Package
7.2.1 Instances
7.3 Record Classes
7.3.1 Field
7.3.2 FieldValue
7.3.3 FixedOffsetField
7.3.4 Group
7.3.5 Record
7.3.6 RecordDef
7.3.7 RecordFile
7.3.8 RecordSet
7.4 Record Associations
7.4.1 RecordToFile Protected
7.5 OCL Representation of Record Constraints
8 Multidimensional
8.1 Overview
8.2 Organization of the Multidimensional Package
8.2.1 Dependencies
8.2.2 Major Classes and Associations
8.2.3 Inheritance from the ObjectModel
8.3 Multidimensional Classes
8.3.1 Dimension
8.3.2 DimensionedObject
8.3.3 Member
8.3.4 MemberSet
8.3.5 MemberValue
8.3.6 Schema
8.4 Multidimensional Associations
8.4.1 CompositesReferenceComponents
8.4.2 DimensionOwnsMemberSets
8.4.3 DimensionsReferenceDimensionedObjects
8.4.4 MDSchemaOwnsDimensionedObjects
8.4.5 MDSchemaOwnsDimensions
8.5 OCL Representation of Multidimensional Constraints
9 XML
9.1 Overview
9.1.1 Semantics
9.2 Organization of the XML Package
9.3 XML Classes
9.3.1 Attribute
9.3.2 Content
9.3.3 Document
9.3.4 Element
9.3.5 ElementContent
9.3.6 ElementType
9.3.7 ElementTypeReference
9.3.8 MixedContent
9.3.9 Schema
9.3.10 Text
9.4 XML Associations
9.4.1 ContentElementTypeReference protected
9.4.2 ElementTypeContent protected
9.4.3 MixedContentText protected
9.4.4 OwnedElementContent protected
9.5 OCL Representation of XML Constraints
10 Transformation
10.1 Overview
10.1.1 Semantics
10.2 Organization of the Transformation Package
10.3 Transformation Classes
10.3.1 ClassifierFeatureMap
10.3.2 ClassifierMap
10.3.3 DataObjectSet
10.3.4 FeatureMap
10.3.5 PrecedenceConstraint
10.3.6 StepPrecedence
10.3.7 Transformation
10.3.8 TransformationActivity
10.3.9 TransformationMap
10.3.10 TransformationStep
10.3.11 TransformationTask
10.3.12 TransformationTree
10.3.13 TransformationUse
10.4 Transformation Associations
10.4.1 CFMapClassifier
10.4.2 CFMapFeature
10.4.3 ClassifierMapSource
10.4.4 ClassifierMapTarget
10.4.5 ClassifierMapToCFMap derived protected
10.4.6 ClassifierMapToFeatureMap derived protected
10.4.7 DataObjectSetElement
10.4.8 FeatureMapSource
10.4.9 FeatureMapTarget
10.4.10 InverseTransformationTask protected
10.4.11 TransformationSource protected
10.4.12 TransformationStepTask
10.4.13 TransformationTarget protected
10.4.14 TransformationTaskElement
10.5 OCL Representation of Transformation Constraints
11 OLAP
11.1 Overview
11.2 Objectives of the OLAP Package
11.3 Organization of the OLAP Package
11.3.1 Dependencies
11.3.2 Major Classes and Associations
11.3.3 Dimension and Hierarchy
11.3.4 Inheritance from the Object Model
11.3.5 Deploying OLAP Models
11.4 OLAP Classes
11.4.1 CodedLevel
11.4.2 ContentMap
11.4.3 Cube
11.4.4 CubeDeployment
11.4.5 CubeDimensionAssociation
11.4.6 CubeRegion
11.4.7 DeploymentGroup
11.4.8 Dimension
11.4.9 DimensionDeployment
11.4.10 Hierarchy abstract
11.4.11 HierarchyLevelAssociation
11.4.12 HierarchyMemberSelectionGroup
11.4.13 Level
11.4.14 LevelBasedHierarchy
11.4.15 Measure
11.4.16 MemberSelection
11.4.17 MemberSelectionGroup
11.4.18 Schema
11.4.19 StructureMap
11.4.20 ValueBasedHierarchy
11.5 OLAP Associations
11.5.1 CubeDeploymentOwnsContentMaps
11.5.2 CubeDimensionAssociationsReferenceCalcHierarchy
11.5.3 CubeDimensionAssociationsReferenceDimension
11.5.4 CubeOwnsCubeDimensionAssociations
11.5.5 CubeOwnsCubeRegions
11.5.6 CubeRegionOwnsCubeDeployments
11.5.7 CubeRegionOwnsMemberSelectionGroups
11.5.8 DeploymentGroupReferencesCubeDeployments
11.5.9 DeploymentGroupReferencesDimensionDeployments
11.5.10 DimensionDeploymentHasImmediateParent
11.5.11 DimensionDeploymentHasListOfValues
11.5.12 DimensionDeploymentOwnsStructureMaps
11.5.13 DimensionHasDefaultHierarchy
11.5.14 DimensionOwnsHierarchies
11.5.15 DimensionOwnsMemberSelections
11.5.16 HierarchyLevelAssociationOwnsDimensionDeployments
11.5.17 HierarchyLevelAssociationsReferenceLevel
11.5.18 LevelBasedHierarchyOwnsHierarchyLevelAssociations
11.5.19 HierarchyMemberSelectionGroupReferencesHierarchy
11.5.20 MemberSelectionGroupReferencesMemberSelections
11.5.21 SchemaOwnsCubes
11.5.22 SchemaOwnsDeploymentGroups
11.5.23 SchemaOwnsDimensions
11.5.24 ValueBasedHierarchyOwnsDimensionDeployments
11.6 OCL Representation of OLAP Constraints
12 Data Mining
12.1 Overview
12.2 Organization of the Data Mining Metamodel
12.2.1 Dependencies
12.2.2 Major Classes and Associations
12.2.3 Inheritance from the ObjectModel
12.3 Data Mining Classes
12.3.1 ApplyContentItem Abstract
12.3.2 ApplyOutputItem Abstract
12.3.3 ApplyProbabilityItem
12.3.4 ApplyRuleIdItem
12.3.5 ApplyScoreItem
12.3.6 ApplySourceItem
12.3.7 ApplyTargetValueItem
12.3.8 ApproximationFunctionSettings
12.3.9 ApproximationTestResult
12.3.10 ApproximationTestTask
12.3.11 AssociationRulesFunctionSettings
12.3.12 AttributeAssignment Abstract
12.3.13 AttributeAssignmentSet
12.3.14 AttributeImportanceSettings
12.3.15 AttributeUsage
12.3.16 AttributeUsageSet
12.3.17 AuxiliaryObject
12.3.18 Catalog
12.3.19 CatagoricalAttributeProperties
12.3.20 Category
12.3.21 CategoryMap
12.3.22 CategoryMapObject
12.3.23 CategoryMapObjectEntry
12.3.24 CategoryMapTable
12.3.25 CategoryMatrix
12.3.26 CategoryMatrixEntry
12.3.27 CategoryMatrixObject
12.3.28 CategoryMatrixTable
12.3.29 CategoryTaxonomy
12.3.30 ClassificationAttributeUsage
12.3.31 ClassificationFunctionSettings
12.3.32 ClassificationTestResult
12.3.33 ClassificationTestTask
12.3.34 ClusteringAttributeUsage
12.3.35 ClusteringFunctionSettings
12.3.36 DirectAttributeAssignment
12.3.37 FrequentItemSetFunctionSettings
12.3.38 LiftAnalysis
12.3.39 LiftAnalysisPoint
12.3.40 LogicalAttribute
12.3.41 LogicalData
12.3.42 MiningAlgorithmSettings Abstract
12.3.43 MiningApplyOutput
12.3.44 MiningApplyTask
12.3.45 MiningAttribute Abstract
12.3.46 MiningBuildTask
12.3.47 MiningFunctionSettings Abstract
12.3.48 MiningModel
12.3.49 MiningResult
12.3.50 MiningTask Abstract
12.3.51 MiningTestResult
12.3.52 MiningTestTask
12.3.53 MiningTransformation
12.3.54 ModelSignature
12.3.55 NumericalAttributeProperties
12.3.56 OrdinalAttributeProperties
12.3.57 PhysicalData
12.3.58 PivotAttributeAssignment
12.3.59 PriorProbabilities
12.3.60 PriorProbabilitiesEntry
12.3.61 ReversePivotAttributeAssignment
12.3.62 Schema
12.3.63 SequenceFunctionSettings
12.3.64 SetAttributeAssignment
12.3.65 SignatureAttribute
12.3.66 SupervisedFunctionSettings
12.4 Data Mining Associations
12.4.1 ApplyOutputHasContentItems
12.4.2 ApplyTaskRefOutputAssignment
12.4.3 ApplyTaskRefOutputSpec
12.4.4 ApproximationTestTaskHasResult
12.4.5 AssignmentRefLogicalAttribute
12.4.6 AssignmentRefOrderIdAttribute
12.4.7 AssignmentSetHasAssignment
12.4.8 AuxObjectHasAttrAssignmentSet
12.4.9 BuildTaskProducesModel
12.4.10 BuildTaskRefInputAssignment
12.4.11 BuildTaskRefSettings
12.4.12 BuildTaskRefValidationAssignment
12.4.13 BuildTaskRefValidationData
12.4.14 CatalogHasSchema
12.4.15 CategoricalPropertiesHasCategories
12.4.16 CategoricalPropertiesRefTaxonomy
12.4.17 CategoryMapObjectHasEntry
12.4.18 CategoryMapRefClass
12.4.19 ClassificationAttrUsageHasPriors
12.4.20 ClassificationAttrUsageRefCategory
12.4.21 ClassificationSettingsRefCostMatrix
12.4.22 ClassificationTestTaskHasResult
12.4.23 ClusteringAttrUsageRefComparisonMatrix
12.4.24 DirectAssignmentRefAttribute
12.4.25 LiftHasAnalysisPoint
12.4.26 LiftRefPositiveTargetCategory
12.4.27 LogicalAttrHasCategoricalProperties
12.4.28 LogicalAttrHasNumericalProperties
12.4.29 MapEntryRefChildCategory
12.4.30 MapEntryRefParentCategory
12.4.31 MapTableRefChildAttribute
12.4.32 MapTableRefGraphIdAttribute
12.4.33 MapTableRefParentAttribute
12.4.34 MatrixEntryRefColumnIndex
12.4.35 MatrixEntryRefRowIndex
12.4.36 MatrixObjectHasEntry
12.4.37 MatrixRefIndexLabels
12.4.38 MatrixTableRefColumnAttr
12.4.39 MatrixTableRefRowAttr
12.4.40 MatrixTableRefSource
12.4.41 MatrixTableRefValueAttr
12.4.42 ModelHasSignature
12.4.43 ModelRefKeyAttribute
12.4.44 ModelRefLocation
12.4.45 ModelRefSettings
12.4.46 PhysicalDataRefSource
12.4.47 PivotRefNameAttribute
12.4.48 PivotRefSetIdAttribute
12.4.49 PivotRefValueAttribute
12.4.50 PriorProbabilitiesHasEntries
12.4.51 PriorRefCategory
12.4.52 ReversePivotRefAttribute
12.4.53 SchemaHasAuxObjects
12.4.54 SchemaHasCategoryMatrix
12.4.55 SchemaHasCategoryTaxonomy
12.4.56 SchemaHasLogicalData
12.4.57 SchemaHasFunctionSettings
12.4.58 SchemaHasMiningModel
12.4.59 SchemaHasMiningResult
12.4.60 SchemaHasMiningTask
12.4.61 SetAssignmentRefMemberAttr
12.4.62 SetAssignmentRefSetIdAttr
12.4.63 SettingsHasAttributeUsageSet
12.4.64 SettingsRefAlgorithmSettings
12.4.65 SettingsRefExcludedCategories
12.4.66 SettingsRefLogicalData
12.4.67 TargetValueItemRefCategory
12.4.68 TaskRefAttrAssignmentSet
12.4.69 TaskRefInputModel
12.4.70 TaskRefPhysicalData
12.4.71 TaxonomyHasCategoryMap
12.4.72 TaxonomyRefRootCategory
12.4.73 TestResultHasConfusionMatrix
12.4.74 TestResultHasLiftAnalysis
12.4.75 TestTaskRefPositiveTarget
12.4.76 TransformationRefMiningTask
12.4.77 UsageRefAttribute
13 Information Visualization
13.1 Overview
13.2 Organization of the Information Visualization Metamodel
13.2.1 Dependencies
13.2.2 Major Classes and Associations
13.3 Inheritance from the Object Model
13.4 Information Visualization Classes
13.4.1 RenderedObject
13.4.2 RenderedObjectSet
13.4.3 Rendering
13.4.4 XSLRendering
13.5 Information Visualization Associations
13.5.1 CompositesReferenceComponents
13.5.2 NeighborsReferenceNeighbors
13.5.3 RenderedObjectSetOwnsRenderedObjects
13.5.4 RenderedObjectSetOwnsRenderings
13.5.5 RenderedObjectsReferenceDefaultRendering
13.5.6 RenderedObjectsReferenceModelElement
13.5.7 RenderedObjectsReferenceRenderings
13.6 OCL Representation of Information Visualization Constraints
14 Business Nomenclature
14.1 Overview
14.1.1 Semantics
14.2 Organization of the Business Nomenclature Package
14.3 Business Nomenclature Classes
14.3.1 BusinessDomain
14.3.2 Concept
14.3.3 Glossary
14.3.4 Nomenclature
14.3.5 Taxonomy
14.3.6 Term
14.3.7 VocabularyElement
14.4 Business Nomenclature Associations
14.4.1 GlossaryToTaxonomy
14.4.2 NomenclatureHierarchy
14.4.3 RelatedConcepts derived
14.4.4 RelatedTerms derived
14.4.5 RelatedVocabularyElements
14.4.6 SynonymToPreferredTerm
14.4.7 TermToConcept
14.4.8 VocabularyElementToModelElement
14.4.9 WiderToNarrowerTerm
14.5 OCL Representation of Business Nomenclature Constraints
15 Warehouse Process
15.1 Overview
15.2 Organization of the Warehouse Process Package
15.3 Warehouse Process Classes
15.3.1 CalendarDate
15.3.2 CascadeEvent
15.3.3 CustomCalendar
15.3.4 CustomCalendarEvent
15.3.5 ExternalEvent
15.3.6 InternalEvent
15.3.7 IntervalEvent
15.3.8 PointInTimeEvent
15.3.9 ProcessPackage
15.3.10 RecurringPointInTimeEvent
15.3.11 RetryEvent
15.3.12 ScheduleEven
15.3.13 WarehouseActivity
15.3.14 WarehouseEvent abstract
15.3.15 WarehouseProcess abstract
15.3.16 WarehouseStep
15.4 Warehouse Process Associations
15.4.1 Event protected
15.4.2 EventUsesCustomCalendar protected
15.4.3 TriggeringProcess protected
15.4.4 WarehouseActivityRunsTransformationActivity
15.4.5 WarehouseActivityStep protected
15.4.6 WarehouseStepRunsTransformationStep
15.5 OCL Representation of Warehouse Process Constraints
16 Warehouse Operation
16.1 Overview
16.1.1 Transformation Executions
16.1.2 Measurements
16.1.3 Change Requests
16.2 Organization of the Warehouse Operation Package
16.3 Warehouse Operation Classes
16.3.1 ActivityExecution
16.3.2 ChangeRequest
16.3.3 Measurement
16.3.4 StepExecution
16.3.5 TransformationExecution
16.4 Warehouse Operation Associations
16.4.1 ActivityStepExecutions protected
16.4.2 ModelElementChangeRequest
16.4.3 ModelElementMeasurement
16.4.4 StepExecutionCallAction
16.4.5 TransformationActivityExecutions
16.4.6 TransformationStepExecutions
16.5 OCL Representation of Warehouse Operation Constraints
17 Compatibility with Other Standards
17.1 Introduction
17.2 Background: Components of the OMG Metamodeling Architecture
17.3 CWM and MDC Meta Data Interchange Specification
17.3.1 Overview
17.3.2 Comparison with CWM
17.4 CWM and MDC Open Information Model
17.4.1 Overview
17.4.2 Comparison with CWM: Database Schema
17.4.3 Comparison with CWM: Data Transformations
17.4.4 Comparison with CWM: OLAP Schema
17.4.5 Comparison with CWM: Record-Oriented Database Schema
17.5 CWM and OLAP Council/MDAPI
17.5.1 Overview
17.5.2 Comparison with CWM
18 Conformance Points
18.1 Introduction
18.2 Required Compliance
18.2.1 CWM Metamodel Compliance
18.2.2 CWM XML Compliance
18.2.3 CWM IDL Compliance
18.2.4 CWM DTD Compliance
18.3 Optional Compliance Points
19 CWM Data Types
19.1 Overview
19.2 Organization of the CWM Data Types
19.3 CORBA IDL Data Types
19.3.1 Overview
19.3.2 Organization of the CORBA IDL Data Types
19.3.3 CORBA IDL Data Type Instances
19.3.4 CORBA IDL Data Types Classes
19.3.5 CORBAL IDL Data Types Associations
19.4 Java Data Types
19.5 SQL-99 Data Types
19.6 Type Mapping Examples
Mehrdad Nojoumian and Timothy Lethbridge, University of Ottawa,
2007-05-16-04:00