Previous section.

Systems Management: Common Information Model (CIM)
Copyright © 1998 The Open Group

Mapping Existing Models into CIM

Existing models have their own metamodel and model. There are three types of mapping that can occur between metaschemas:

Each of these mappings can be applied when converting the MIF syntax to MOF syntax.

Technique Mapping

A technique mapping provides a mapping that uses the CIM metamodel constructs to describe the source modeling technique's metaconstructs (for example, MIF, GDMO, SMI). Essentially, the CIM metamodel is actually a meta-metamodel for the source technique.



Figure: Technique Mapping Example

The DMTF uses the management information format of MIF as the metamodel to describe desktop management information in a common way. Therefore, it is meaningful to describe a technique mapping in which the CIM metamodel is used to describe the MIF syntax.

The mapping presented here takes the important types that can appear in a MIF file and then creates classes for them. Thus, component, group, attribute, table, and enum are expressed in the CIM metamodel as classes. In addition, associations are defined to document how these are combined. MIF Technique Mapping Example illustrates the results.



Figure: MIF Technique Mapping Example

Recast Mapping

A recast mapping provides a mapping of the sources' metaconstructs into the targeted metaconstructs, so that a model expressed in the source can be translated into the target. The major design work is to develop a mapping between the sources' metamodel and the CIM metamodel. Once this is done the source expressions are recast.



Figure: Technique Mapping Results


The following is an example of a recast mapping for MIF, assuming:
DMI attributes -> CIM properties DMI key attributes -> CIM key properties DMI groups -> CIM classes DMI components -> CIM classes

The standard DMI ComponentID group might be recast into a corresponding CIM class:

Start Group Name = "ComponentID" Class = "DMTF|ComponentID|001" ID = 1 Description = "This group defines the attributes common to all " "components. This group is required." Start Attribute Name = "Manufacturer" ID = 1 Description = "Manufacturer of this system." Access = Read-Only Storage = Common Type = DisplayString(64) Value = "" End Attribute Start Attribute Name = "Product" ID = 2 Description = "Product name for this system." Access = Read-Only Storage = Common Type = DisplayString(64) Value = "" End Attribute Start Attribute Name = "Version" ID = 3 Description = "Version number of this system." Access = Read-Only Storage = Specific Type = DisplayString(64) Value = "" End Attribute Start Attribute Name = "Serial Number" ID = 4 Description = "Serial number for this system." Access = Read-Only Storage = Specific Type = DisplayString(64) Value = "" End Attribute Start Attribute Name = "Installation" ID = 5 Description = "Component installation time and date." Access = Read-Only Storage = Specific Type = Date Value = "" End Attribute Start Attribute Name = "Verify" ID = 6 Description = "A code that provides a level of verification that" "the component is still installed and working." Access = Read-Only Storage = Common Type = Start ENUM 0 = "An error occurred; check status code." 1 = "This component does not exist." 2 = "Verification is not supported." 3 = "Reserved." 4 = "This component exists, but the functionality is untested." 5 = "This component exists, but the functionality is unknown." 6 = "This component exists, and is not functioning correctly." 7 = "This component exists, and is functioning correctly." End ENUM Value = 1 End Attribute End Group

A corresponding CIM class might be the following. Note that properties in the example include an ID qualifier to represent the corresponding DMI attribute's ID. Here, a user-defined qualifier may be necessary.

[Name ("ComponentID"), ID (1), Description ( "This group defines the attributes common to all components. " "This group is required.")] class DMTF|ComponentID|001 { [ID (1), Description ("Manufacturer of this system."), maxlen (64)] string Manufacturer; [ID (2), Description ("Product name for this system."), maxlen (64)] string Product; [ID (3), Description ("Version number of this system."), maxlen (64)] string Version; [ID (4), Description ("Serial number for this system."), maxlen (64)] string Serial_Number; [ID (5), Description("Component installation time and date.")] datetime Installation; [ID (6), Description("A code that provides a level of verification" "that the component is still installed and working."), Value (1)] string Verify; };

Domain Mapping

A domain mapping takes a source expressed in a particular technique and maps its content into either the core, common, or extension sub-schemas of the CIM. This mapping does not rely heavily on a meta-to-meta mapping. It is primarily a content-to-content mapping. In our case, the mapping is actually a re-expression of some content in a more common way using a more expressive technique.

This is an example of how CIM properties can be supplied by DMI, using information from the DMI disks group ("DMTF|Disks|002"). For a hypothetical CIM disk class, the CIM properties are expressed as shown in Domain Mapping Example: DMI to CIM .

CIM "Disk" property Can be sourced from DMI group/attribute
StorageType "MIF.DMTF|Disks|002.1"
StorageInterface "MIF.DMTF|Disks|002.3"
RemovableDrive "MIF.DMTF|Disks|002.6"
RemovableMedia "MIF.DMTF|Disks|002.7"
DiskSize "MIF.DMTF|Disks|002.16"

Table: Domain Mapping Example: DMI to CIM

Mapping Scratch Pads

In general, when the content of models are mapped between different metaschemas, information gets lost or is missing. To fill this gap, "scratch pads" are expressed in the CIM metamodel using qualifiers, which are actually extensions to the metamodel (for example, see the Mapping MIF Attributes and Mapping SNMP Variables sections). These scratch pads are critical to the exchange of core, common and extension model content with the various technologies used to build management applications.


Why not acquire a nicely bound hard copy?
Click here to return to the publication details or order a copy of this publication.

Contents Next section Index