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.