Internet-Draft                                                Ryan Moats
draft-moats-dmtf-core-ldap-00.txt                       Gerald Maziarski
draft-moats-dmtf-core-ldap-01.txt                                   AT&T
Expires in six months                                               AT&T
                                                          John Strassner
                                                           cisco Systems
                                                          September                                      December 1999

              LDAP Schema for the DMTF Core CIM v2.2 Model
              Filename: draft-moats-dmtf-core-ldap-00.txt draft-moats-dmtf-core-ldap-01.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

Abstract

   This draft presents a LDAP core schema for the DMTF CIM Core model
   version 2.2 [4].

Table of Contents

1. Introduction                                                        2
2. LDAP Mapping Considerations                                         3
2.1 Differences from the Core CIM Model                                3
2.2 cimAssociationInstance                                             3
2.3 cimOtherIdentifyingInfoInstance                                    4
2.4 Naming considerations                                              5
2.5 Inheritance Assumptions                                            5
3 Class Definitions                                                    6
3.1 cim22ManagedSystemElement                                          6
3.2 cim22CollectionOfMSEs                                              7
3.3 cim22CollectedMSEsAuxClass                                         9
3.4 cim22CollectedCollectionsAuxClass                                  9
3.5 cim22PhysicalElement                                              10
3.6 cim22LogicalElement                                               12
3.7 cim22LogicalIdentityAuxClass                                      12
3.8 cim22Configuration                                                13
3.9 cim22ConfigurationComponentAuxClass                               14
3.10 cim22ElementConfigurationAuxClass                                15
3.11 cim22CollectionConfigurationAuxClass                             16
3.12 cim22Setting                                                     16
3.13 cim22ElementSettingAuxClass                                      17
3.14 cim22DefaultSettingAuxClass                                      17
3.15 cim22SettingContextAuxClass                                      17
3.16 cim22CollectionSettingAuxClass                                   18
3.17 cim22System                                                      18
3.18 cim22ComputerSystem                                              20
3.19 cim22LogicalDevice                                               21
3.20 cim22Service                                                     24
3.21 cim22ServiceAccessPoint                                          25
3.22 cim22DependencyAuxClass                                          26
3.24 cim22ServiceAccessBySAPAuxClass                                  26
3.25 cim22ServiceServiceDependencyAuxClass                            27
3.26 cim22ServiceSAPDependencyAuxClass                                28
3.27 cim22SAPSAPDependencyAuxClass                                    28
3.28 cim22ProvidesServiceToElementAuxClass                            28
3.29 cim22RealizesAuxClass                                            29
3.30 cim22ComponentAuxClass                                           29
3.31 cim22SystemComponentAuxClass                                     30
3.32 cim22ServiceComponentAuxClass                                    30
3.33 cim22Product                                                     30
3.34 cim22ProductParentChildAuxClass                                  32
3.35 cim22CompatibleProductAuxClass                                   32
3.36 cim22ProductProductDependencyAuxClass                            33
3.37 cim22SupportAccess                                               33
3.38 cim22ProductSupportAuxClass                                      35
3.39 cim22FRU                                                         35
3.40 cim22ProductFRUAuxClass                                          36
3.41 cim22ProductPhysicalElementsAuxClass                             37
3.42 cim22FRUPhysicalElementsAuxClass                                 37
3.43 cim22FRUIncludesProductAuxClass                                  37
4. References                                                         38
5. Acknowledgement                                                    38
6. Editor's Address                                                   38

1. Introduction

   This draft presents a LDAPv3 [1,2] schema for the DMTF CIM Core
   model.  Associations are mapped using a combination of auxiliary
   classes and DIT structure rules.  Where  All attribute, object class, and
   name form OIDs are place holders, and syntax OIDs in definitions have
   been replaced by names for clarity.  Further, structure rule
   identifiers are place holders and should be replaced as dictated by
   local implementations.

   This document is a product of the DMTF LDAP WG.

2. LDAP Mapping Considerations

2.1 Differences from the Core CIM Model

   This mapping differs from the core CIM model in several ways.  The
   hierarchy of classes beginning with CIM_StatisticalInformation has
   not been mapped.  The CIM_DependencyContaxt association is not
   mapped.  Finally, the classes CIM_Service, CIM_System,
   CIM_ServiceAccessPoint, and CIM_LogicalDevice have been mapped to
   structural classes to support basic DIT containment rules.

2.2 cimAssociationInstance

   This object class is used when attaching multiple association
   auxiliary classes to a structural object class would lead to
   attribute confusion or collision.  Instead, the association auxiliary
   classes attach to cimAssociationInstance classes that are DIT
   contained by the original structural class.

      ( <oid-at74> NAME 'cimAssociationName'
        DESC 'The associations' name'
        SYNTAX string SINGLE-VALUE
      )

      ( <oid-at75> NAME 'cimAssociationTypeName'
        DESC 'The associations' type name. It can support storing extra
              information about the association type'
        SYNTAX string SINGLE-VALUE
      )

      ( <oid-oc44> NAME 'cimAssociationInstance'
        SUP top
        MUST (orderedCimModelPath)
        MAY (cimAssociationTypeName)
      )

      ( <oid-nf9> NAME 'cimAssociationInstanceNameForm'
        OC cimAssociationInstance
        MUST (orderedCimModelPath)
      )

      ( <sr9> NAME 'cimAssociationInstanceStructureRule'
        FORM cimAssociationInstanceNameForm
        SUP <sr1> <sr2> <sr3> <sr4> <sr5> <sr6> <sr7> <sr8>
      )

   The following content rule specifies the auxiliary classes that may
   be attached to cimAssociationInstance.

      ( <oid-oc44> NAME 'cimAssociationInstanceContentRule'
        DESC 'The auxiliary classes that may be attached to
              cimAssociationInstance'
        AUX (cim22CollectedMSEsAuxClass $ cim22CollectedCollectionsAuxClass
$
             cim22LogicalIdentityAuxClass $
             cim22ConfigurationComponentAuxClass $
             cim22ElementConfigurationAuxClass $
             cim22CollectionConfigurationAuxClass $
             cim22ElementSettingAuxClass $ cim22DefaultSettingAuxClass $
             cim22SettingContextAuxClass $ cim22CollectionSettingAuxClass $
             cim22DependencyAuxClass $ cim22ServiceAccessBySAPAuxClass $
             cim22ServiceServiceDependencyAuxClass $
             cim22ServiceSAPDependencyAuxClass $
             cim22SAPSAPDependencyAuxClass $
             cim22ProvidesServiceToElementAuxClass $ cim22RealizesAuxClass $
             cim22ComponentAuxClass $ cim22SystemComponentAuxClass $
             cim22ServiceComponentAuxClass $ cim22ProductParentChildAuxClass
$
             cim22CompatibleProductAuxClass $
             cim22ProductProductDependencyAuxClass $
             cim22ProductSupportAuxClass $ cim22ProductFRUAuxClass $
             cim22ProductPhysicalElementsAuxClass $
             cim22FRUPhysicalElementsAuxClass $
             cim22FRUIncludesProductAuxClass)
      )

2.3 cimOtherIdentifyingInfoInstance

   CIM defines the concept of an ordered array, which LDAP does not
   support.  In the core model, indexed arrays are used, only used in two
   cases to tie two properties together.  In the LDAP mapping, these
   attributes are replaced with separate instances of
   cimOtherIdentifyingInfoInstance that each contain a single pair of
   property values and are DIT contained by the parent class.  The
   attribute cimOtherIdentifyingInfo is already defined below and reused
   here.  The attribute arrayIndex is defined here as the RDN for this
   class.

      ( <oid-at34> NAME 'arrayIndex'
        DESC 'the index of this child'
        SYNTAX integer
      )
      ( <oid-at35> NAME 'cimIdentifyingDescriptions'
        DESC 'A free-form string providing explanations and
              details behind the entries in the OtherIdentifyingInfo
              array.'
        SYNTAX string
      )

      ( <oid-oc45> NAME 'cimOtherIdentifyingInfoInstance'
        DESC 'helper class to tie indexed arrays in core model together'
        SUP top
        MUST (arrayIndex)
        MAY (cimOtherIdentifyingInfo $ cimIdentifyingDescriptions)
      )

      ( <oid-nf10> NAME 'cimOtherIdentifyingInfoInstanceNameForm'
        OC cimOtherIdentifyingInfoInstance
        MUST (arrayIndex)
      )

      ( <sr10> NAME 'cimOtherIdentifyingInfoInstanceStructureRule'
        FORM cimOtherIdentifyingInfoInstanceNameForm
        SUP <sr3> <sr11>
      )

2.4 Naming considerations

   To support naming in the LDAP mapping of the core schema, the
   attribute orderedCimModelPath is defined.  It is used to provide a
   simple RDN for directory implementations.  The name form rules that
   follow show that this attribute should be used as the RDN for
   structural classes.

      ( <oid-at1> NAME 'orderedCimModelPath'
        DESC 'The model path for the instance. Used as an RDN'
        SYNTAX string SINGLE-VALUE
      )

   The value of this attribute is constructed by ordering the CIM keys
   of the object in the US-ASCII collation order of the property types.

   To support an existing naming plan, an implementor may specify
   additional/replacement nameform rules.

2.5 Inheritance Assumptions

   This schema mapping is based on the assumption that name form rules
   structural rules, and DIT content rules are inherited by both auxiliary
   and structural sub-classes.  For implementations where this is not
   the case, extra rules will need to be specified.

2.

   On the other hand, the attributes contained in auxiliary classes in
   this mapping are based on the assumption that inheritance does not
   occur between auxiliary classes (even though such inheritance is
   shown in the auxiliary class definitions).  For implementations that
   do support this type of inheritance, the schema definitions will be
   simpler.

3. Class Definitions

   For efficiency in the LDAP representation, associations are specified
   as a combination of auxiliary classes and DIT structure rules.
   Attribute definitions for each class are presented with the object
   class.  Other definitions are also provided when necessary.

   While this approach was chosen to minimize the number of DN pointers
   stored in the schema, some pointer dereferencing is necessary.  While
   not explicitly stated, all DN pointers are assumed to support the
   extended matching rule defined in [3].  Attribute names for DN
   pointers follow the convention that a single pointer to "foo" is
   named "fooRef" while an array of pointers would be named "fooRefs."

   Note: all OIDs are place holders, and OIDs in definitions have been
   replaced by names for clarity.

2.1 dmtfManagedSystemElement Class

3.1 cim22ManagedSystemElement

   This is the base class for the system element hierarchy.  Any
   distinguishable component of a system is a candidate for inclusion in
   this class. Examples of this are software components, such as files; files
   and devices, such as disk drives and controllers, and physical
   components such as chips and cards.

   The dmtfManagedSystemElement class supports five attributes: caption,
   description, installDate, name and status.  The caption attribute

      ( <oid-at2> NAME 'cimCaption'
        DESC 'The Caption property is a short textual description
             (one-line string) of the object.  The
   description attribute provides a textual description of the object.
   The installDate attribute is a date-time value showing when the
   object was installed.  The name attribute defines the label by which
   the object is known. In subclasses, this attribute can be used as a
   RDN.  The status attribute is a string showing the current status of
   the object.

      ( <oid-at1> NAME 'caption'
        DESC 'short textual description of the object' object.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at2>NAME 'description' <oid-at3> NAME 'cimDescription'
        DESC 'a 'The Description property provides a textual description of
              the object' object.'
        SYNTAX string SINGLE-VALUE
      )

      ( <oid-at3> <oid-at4> NAME 'installDate' 'cimInstallDate'
        DESC 'A datetime value showing indicating when the object was
              installed. A lack of a value does not show that the
              object is not
              installed.'
        SYNTAX generalizedTime SINGLE-VALUE
      )

      ( <oid-at4> <oid-at5> NAME 'name' 'cimName'
        DESC 'The Name property defines the label by which the object is
              known. When subclassed, the Name property can be overridden
              to be a Key key property.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at5> <oid-at6> NAME 'status' 'cimStatus'
        DESC 'A string showing indicating the current status of the
              object. Various operational and non-operational statuses
              are defined.' defined. Operational statuses are "OK", "Degraded",
              "Stressed" and "Pred Fail". "Stressed" shows that the
              Element is functioning, but needs attention. Examples of
              "Stressed" states are overload, overheated, etc. The
              condition "Pred Fail" (failure predicted) shows that
              an Element is functioning properly but predicting a
              failure soon. An example is a SMART-enabled hard
              drive. Non-operational statuses can also be specified.
              These are "Error", "NonRecover", "Starting",
              "Stopping" and "Service". "NonRecover" shows that a
              non-recoverable error has occurred. "Service" describes an
              Element being configured, maintained or cleaned, or
              otherwise administered. This status could apply during
              mirror-resilvering of a disk, reload of a user permissions
              list, or other administrative task. Not all such work is
              on-line, yet the Element is neither "OK" nor in
              another state.'
        SYNTAX string{10} SINGLE-VALUE
      )

      ( <oid-oc1> NAME 'dmtfManagedSystemElement' 'cim22ManagedSystemElement'
        DESC 'the 'cim22ManagedSystemElement is the base class for the System
              Element hierarchy' hierarchy. Membership Criteria: Any distinguishable
              component of a System is a candidate for inclusion in this
              class. Examples: software components, such as files; and
              devices, such as disk drives and controllers, and physical
              components such as chips and cards.'
        SUP top ABSTRACT
        MUST (caption (orderedCimModelPath)
        MAY (cimCaption $ description cimDescription $ installDate cimInstallDate $ name cimName $ status)
             cimStatus)
      )

2.2 dmtfCollectionOfMSEs

3.2 cim22CollectionOfMSEs

   This object allows the grouping of dmtfManagedSystemElement cim22ManagedSystemElement objects
   for associating settings and configurations. It is abstract to
   require further definition and semantic refinement in subclasses. As
   this object does not carry any state or status information, it only
   represents a grouping or 'bag' of elements. So, it is incorrect to
   subclass groups that have state/status from this class - an example
   is dmtfRedundancyGroup cim22RedundancyGroup (which is correctly subclassed from
   dmtfLogicalElement).
   cim22LogicalElement).

   Collections typically aggregate 'like' objects, and represent an
   optimization. Without collections, one is forced to define individual
   associations, to tie settings and configuration objects to individual dmtfManagedSystemElements.
   cim22ManagedSystemElements. There may be much duplication in
   assigning the same setting to multiple objects. In addition, using
   this object allows the determination that the setting and
   configuration associations are indeed the same for the collection's
   members. This information would otherwise be obtained by defining the
   collection in a proprietary way, and then querying the associations
   to determine if the collection set is completely covered.

   This class defines a new attribute collectionID and reuse the
   previously defined attributes description and caption.

      ( <oid-at6> <oid-at7> NAME 'collectionID' 'cimCollectionID'
        DESC 'The identification of the Collection object. When
              subclassed, the CollectionID property can be overridden to
              be a RDN' Key property.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-oc2> NAME 'dmtfCollectionOfMSEs' 'cim22CollectionOfMSEs'
        DESC 'Parent class 'The CollectionOfMSEs object allows the grouping of collections
              ManagedSystemElements for the purposes of MSEs' associating
              Settings and Configurations. It is abstract to require
              further definition and semantic refinement in
              subclasses. The CollectionOfMSEs object does not carry any
              state or status information, but only represents a grouping
              or "bag" of Elements. Therefore, it is incorrect to
              subclass groups that have state/status from
              CollectionOfMSEs - an example is cim22RedundancyGroup (which
              is correctly subclassed from LogicalElement). Collections
              typically aggregate "like" objects, and represent an
              optimization. Without Collections, one is forced to define
              individual ElementSetting and ElementConfiguration
              associations, to tie Settings and Configuration objects to
              individual ManagedSystemElements. There may be much
              duplication in assigning the same Setting to multiple
              objects. In addition, using the Collection object allows
              the determination that the Setting and Configuration
              associations are indeed the same for the Collection's
              members. This information would otherwise be obtained by
              defining the Collection in a proprietary way, and then
              querying the ElementSetting and ElementConfiguration
              associations to determine if the Collection set is
              completely covered.'

        SUP top ABSTRACT
        MUST (collectionID
        MAY (cimCollectionID $ caption cimCaption $ description) cimDescription)
      )

2.3 dmtfCollectedMSEsAuxClass

3.3 cim22CollectedMSEsAuxClass

   This auxiliary class represents a generic association used to
   establish the members of the grouping object, dmtfCollectionOfMSEs.
   It defines the attributes collectionRefs (which point to
   dmtfCollectionOfMSEs) and memberRefs (which point to
   dmtfManagedSystemElements). cim22CollectionOfMSEs.

      ( <oid-at7> <oid-at8> NAME 'collectionRef' 'cimCollectionRef'
        DESC 'The grouping or "bag" object that represents the
              Collection.  May be used as an RDN.' Collection.'
        SYNTAX DN SINGLE-VALUE
      )

      ( <oid-at8> <oid-at9> NAME 'memberRefs' 'cimMemberRef'
        DESC 'The members of the Collection.  May be used as an RDN.' Collection.'
        SYNTAX DN
      )

      ( <oid-oc3> NAME 'dmtfCollectedMSEsAuxClass' 'cim22CollectedMSEsAuxClass'
        DESC 'generic 'cimCollectedMSEs is a generic association used to
              establish the members of the grouping object, CollectionOfMSEs.'
              CollectionOfMSEs.  Attribute cimCollectionRef points to
              cim22CollectionOfMSEs and cimMemberRef points to
              cim22ManagedSystemElement.'
        SUP top AUXILIARY
        MUST (collectionRef
        MAY (cimCollectionRef $ memberRefs) cimMemberRef)
      )

2.4 dmtfCollectedCollectionsAuxClass

3.4 cim22CollectedCollectionsAuxClass

   This association represents that a dmtfCollectionOfMSEs cim22CollectionOfMSEs may itself
   be contained in another dmtfCollectionOfMSEs cim22CollectionOfMSEs object.  It reuses
   collectionRefs and defines and collectionInCollectionRefs.

      ( <oid-at9> <oid-at10> NAME 'collectionInCollectionRefs' 'cimCollectionInCollectionRef'
        DESC 'The "collected" collection.  May be used as an RDN.' Collection.'
        SYNTAX DN
      )

      ( <oid-oc4> NAME 'dmtfCollectedCollectionsAuxClass' 'cim22CollectedCollectionsAuxClass'
        DESC 'aggregation 'cim22CollectedCollections is an aggregation association
              representing that a CollectionOfMSEs may itself be
              contained in a
              CollectionOfMSEs.' CollectionOfMSEs. Both attributes point to
              cim22CollectionOfMSEs.'
        SUP top AUXILIARY
        MUST (collectionRefs
        MAY (cimCollectionRef $ collectionInCollectionRefs) cimCollectionInCollectionRef)
      )

2.5 dmtfPhysicalElement class

3.5 cim22PhysicalElement

   This class acts as the base class for any component of a system that
   has a distinct physical identity. Instances of this class can be
   defined in terms of labels that can be physically attached to the
   object. All processes, files, and logical devices are considered not
   to be physical elements. For example, it is not possible to attach a
   label to a modem. It is only possible to attach a label to the card
   that implements the modem. The same card could also implement a LAN
   adapter. This is an example of a single physical element (the card)
   hosting more than one logical device.

   This class has the following attributes: creationClassName,
   manufacturer, model, sKU, serialNumber, tag, version, partNumber,
   otherIdentifyingInfo and poweredOn. The creationClassName attribute
   shows the name of the class or the subclass used in the creation of
   an instance. The manufacturer attribute contains the name of the
   organization responsible for producing this physical element and the
   partNumber attribute stores that manufacturer's part number of the
   physical element.  The model, version and serialNumber attributes are
   self-explanatory.  The stock keeping unit number of the physical
   element is contained in the sKU attribute.  The tag attribute
   provides an arbitrary string used to identify the physical element.
   Other identifying information (beyond that stored in the tag
   attribute) is stored in the otherIdentifyingInfo attribute. Finally,
   the poweredOn attribute shows if the physical element is currently
   powered on or not.

   In this class, the attributes creationClassName and tag may be used
   as a RDN.

      ( <oid-at10> <oid-at11> NAME 'creationClassName' 'cimCreationClassName'
        DESC 'CreationClassName shows the name of the class or the
              subclass used in the creation of an instance. When used
              with the other key properties of this class, this property
              allows all instances of this class and its subclasses to be
              uniquely identified.  May be used as a RDN.'
        SYNTAX string{256} SINGLE-VALUE
      )
      ( <oid-at11> NAME 'manufacturer'
        DESC 'The name of the organization responsible for producing the
              PhysicalElement.' identified.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at12> NAME 'model'
        DESC 'The name by which the PhysicalElement is generally known.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at13> NAME 'sKU'
        DESC 'The stock keeping unit number for this PhysicalElement.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at14> NAME 'serialNumber'
        DESC 'A manufacturer-allocated number used to identify the
              PhysicalElement.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at15> NAME 'tag' 'cimTag'
        DESC 'An arbitrary string that uniquely identifies the
              PhysicalElement and serves as the Element's key.  The Tag
              property can contain information such as asset tag or
              serial number data.  The key for PhysicalElement is placed
              high in the object hierarchy to independently
              identify the hardware/entity, regardless of physical
              placement in or on Cabinets, Adapters, etc. May For example, a
              hotswappable or removeable component may be used as taken from its
              containing (scoping) Package and be temporarily unused. The
              object still exists - and may even be inserted
              into a RDN.' different scoping container. Therefore, the key for
              PhysicalElement is an arbitrary string and is defined
              independently of any placement or location-oriented
hierarchy.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at13> NAME 'cimManufacturer'
        DESC 'The name of the organization responsible for producing the
              PhysicalElement. This may be the entity from whom the
              Element is purchased, but this is not necessarily true. The
              latter information is contained in the Vendor property of
              cim22Product.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at14> NAME 'cimModel'
        DESC 'The name by which the PhysicalElement is generally known.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at15> NAME 'cimSKU'
        DESC 'The stock keeping unit number for this PhysicalElement.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at16> NAME 'version' 'cimSerialNumber'
        DESC 'A manufacturer-allocated number used to identify the
              PhysicalElement.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at17> NAME 'cimVersion'
        DESC 'A string showing indicating the version of the PhysicalElement.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at17> <oid-at18> NAME 'partNumber' 'cimPartNumber'
        DESC 'The part number assigned by the organization responsible
              for producing or manufacturing the PhysicalElement.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at18> <oid-at19> NAME 'otherIdentifyingInfo' 'cimOtherIdentifyingInfo'
        DESC 'OtherIdentifyingInfo captures additional data, beyond asset
              tag information, that could be used to identify a
              PhysicalElement. One example is bar code data associated
              with an Element that also has an asset tag. Note that if
              only bar code data is available and is unique/able to be
              used as an Element key, this property would be NULL and the
              bar code data used as the class key, in the Tag property.'
        SYNTAX string SINGLE-VALUE
      )

      ( <oid-at19> <oid-at20> NAME 'poweredOn' 'cimPoweredOn'
        DESC 'Boolean showing indicating that the PhysicalElement is powered on
              (TRUE), or is currently off (FALSE).'
        SYNTAX boolean SINGLE-VALUE
      )

      ( <oid-oc5> NAME 'dmtfPhysicalElement' 'cim22PhysicalElement'
        DESC 'base class for 'Subclasses of cim22PhysicalElement define any component of a system
              System that has a distinct physical identity' identity. Instances of
              this class can be defined in terms of labels that can be
              physically attached to the object. All Processes, Files,
              and LogicalDevices are considered not to be
              PhysicalElements. For example, it is not possible to attach
              a label to a modem. It is only possible to attach a label
              to the card that implements the modem. The same card could
              also implement a LAN adapter. These are tangible Managed
              System Elements (usually hardware items) that have a
              physical manifestation of some sort. A Managed System
              Element is not necessarily a discrete component. For
              example, it is possible for a single Card (which is a type
              of Physical Element) to host more than one Logical
              Device. The card would be represented by a single Physical
              Element associated with multiple Logical Devices.'
        SUP dmtfManagedSystemElement cim22ManagedSystemElement ABSTRACT
        MUST (creationClassName (cimTag $ manufacturer cimCreationClassName)
        MAY (cimManufacturer $ model cimModel $ sKU cimSKU $
              serialNumber cimSerialNumber $ tag
             cimVersion $ version cimPartNumber $ partNumber cimOtherIdentifyingInfo $
              otherIdentifyingInfo $ poweredOn)
             cimPoweredOn)
      )

2.6 dmtfLogicalElement Class

3.6 cim22LogicalElement

   This class is the base class for all the components of a system that
   represent abstract system components, such as files, processes, or
   system capabilities as logical devices.

   This class defines no additional attributes to those inherited from
   dmtfManagedSystemElement

      ( <oid-oc6> NAME 'dmtfLogicalElement' 'cim22LogicalElement'
        DESC 'base 'cim22LogicalElement is a base class for all the components
              of a System that represent abstract system components, such
              as Files, Processes, or system capabilities as Logical
              Devices.'
        SUP dmtfManagedSystemElement cim22ManagedSystemElement ABSTRACT
      )

2.7 dmtfLogicalIdentityAuxClass

3.7 cim22LogicalIdentityAuxClass

   This auxiliary class represents an abstract and generic association,
   showing that two dmtfLogicalElements cim22LogicalElements represent different aspects of
   the same underlying entity. This relationship conveys what could be
   defined with multiple inheritance. It is restricted to the 'logical'
   aspects of a dmtfManagedSystemElement. cim22ManagedSystemElement. In most scenarios, the
   identity relationship is determined by the equivalence of keys or
   some other identifying properties of the related elements. The
   association should only be used in well understood scenarios. This is
   why the association is abstract - allowing more concrete definition
   and clarification in subclasses.  This class defines two attributes:
   systemElementRefs and sameElementRefs.

      ( <at-21> <oid-at21> NAME 'systemElementRefs' 'cimSystemElementRef'
         DESC 'represents 'SystemElement represents one aspect of the Logical Element'
               LogicalElement.'
         SYNTAX DN
      )

      ( <at-22> <oid-at22> NAME 'sameElementRefs' 'cimSameElementRef'
        DESC 'represents 'SameElement represents an alternate aspect of the System entity'
              entity.'
        SYNTAX DN
      )

      ( <oid-oc7> NAME 'dmtfLogicalIdentityAuxClass' 'cim22LogicalIdentityAuxClass'
        DESC 'an 'cim22LogicalIdentityAuxClass is an abstract and generic
association, showing
              indicating that two LogicalElements represent different
              aspects of the same underlying entity. ' This relationship
              conveys what could be defined with multiple inheritance. It
              is restricted to the "logical" aspects of a
              ManagedSystemElement. In most scenarios, the Identity
              relationship is determined by the equivalence of Keys or
              some other identifying properties of the related
              Elements. The association should only be used in well
              understood scenarios. This is why the association is
              abstract - allowing more concrete definition and
              clarification in subclasses. One scenario where
              this relationship is reasonable is to represent that a
              Device is both a "bus" entity and a "functional"
              entity. For example, a Device could be both a USB (bus) and
              a Keyboard (functional) entity. Both attributes point to
              cim22LogicalElement objects.'
        SUP top AUXILIARY
        MUST (systemElementRefs
        MAY (cimSystemElementRef $ sameElementRefs) cimSameElementRef)
      )

2.8 dmtfConfiguration Class

3.8 cim22Configpuration

   This object allows the grouping of sets of parameters (defined in
   dmtfSetting
   cim22Setting objects) and dependencies for one or more managed system
   elements. The configuration object represents a certain behavior, or
   a desired functional state for the managed system elements. The
   desired functional state is typically driven by external requirements
   such as time or location. For example, to connect to a Mail System
   from 'home', a dependency on a modem exists, but a dependency on a
   network adapter exists at 'work'. Settings for the pertinent logical
   devices can be defined and aggregated by the configuration.
   Therefore, two 'Connect to Mail' configurations may be defined
   grouping the relevant dependencies and setting objects.

   This class uses the following attributes: name, caption, and
   description. Name holds the label by which the object is known, and
   may be used as a RDN.  Description holds the textual description of
   the object, which is summarized in the caption attribute.

      ( <oid-oc8> NAME 'dmtfConfiguration' 'cim22Configuration'
        DESC 'allows 'The Configuration object allows the grouping of sets of
              parameters (defined in Setting objects) and dependencies
              for one or more dmtfManagedSystemElements.' ManagedSystemElements. The Configuration
              object represents a certain behavior, or a desired
              functional state for the ManagedSystemElements. The desired
              functional state is typically driven by external
              requirements such as time or location. For example, to
              connect to a Mail System from "home", a dependency on a
              modem exists, but a dependency on a network adapter exists
              at "work". Settings for the pertinent LogicalDevices (in
              this example, POTSModem and NetworkAdapter) can be defined
              and aggregated by the Configuration. Therefore, two
              "Connect to Mail" Configurations may be defined grouping
              the relevant dependencies and Setting objects.'
        SUP top
        MUST (name (cimName $ caption orderedCimModelPath)
        MAY (cimCaption $ description) cimDescription)
      )

      ( <oid-nf1> NAME 'cim22ConfigurationNameForm'
        OC cim22Configuration
        MUST (orderedCimModelPath)
      )

2.9 dmtfConfigurationComponentAuxClass

      ( <sr1> NAME 'cim22ConfigurationStructureRule'
        FORM cim22ConfigurationNameForm
      )

   The following content rule specifies the auxiliary classes that may
   be attached to cim22Configuration.

      ( <oid-oc8> NAME 'cim22ConfigurationContentRule'
        DESC 'The auxiliary classes that may be attached to
              cim22Configuration'
        AUX (cim22ConfigurationComponentAuxClass $
             cim22ElementConfigurationAuxClass $
             cim22CollectionConfigurationAuxClass $
             cim22SettingContextAuxClass)
      )

3.9 cim22ConfigurationComponentAuxClass

   This association aggregates 'lower-level' configuration objects into
   a 'high-level' configuration. This enables the assembly of complex
   configurations by grouping together simpler ones.

      ( <oid-at20> <oid-at23> NAME 'configGroupRefs'
        DESC 'The Configuration that aggregates additional Configurations.
              May be used as an RDN.' 'cimConfigGroupRef'
        SYNTAX DN
      )
      ( <oid-at21> <oid-at24> NAME 'configComponentRefs' 'cimConfigComponentRef'
        DESC 'A Configuration that is part of a "higher-level"
              Configuration.  May be used as an RDN.'
              Configuration.'
        SYNTAX DN
      )

      ( <oid-oc9> NAME 'dmtfConfigurationComponentAuxClass' 'cim22ConfigurationComponentAuxClass'
        DESC 'aggregates lower-level 'ConfigurationComponent aggregates "lower-level"
              Configuration objects into a
              high-level Configuration.' "high-level"
              Configuration. This enables the assembly of complex
              Configurations by grouping together simpler ones. For
              example, a logon policy for the United States could consist
              of two Configuration groups, one for the east coast and one
              for the west coast. Each of these could in turn consist of
              multiple Configurations to handle different aspects of the
              logon process. Both attributes point to cim22Configuration
              objects.'
        SUP top AUXILIARY
        MUST (configGroupRefs
        MAY (cimConfigGroupRef $ configComponentRefs) cimConfigComponentRef)
      )

2.10 dmtfElementConfigurationAuxClass

3.10 cim22ElementConfigurationAuxClass

   This association relates a configuration object to one or more
   managed system elements. The configuration object represents a
   certain behavior, or a desired functional state for the associated
   managed system elements.'

   Two attributes are defined by this class:
   dmtfManagedSystemElementRefs and dmtfConfigurationRefs. elements.

      ( <oid-at22> <oid-at25> NAME 'elementRefs' 'cimElementRef'
        DESC 'The ManagedSystemElements.' ManagedSystemElement.'
        SYNTAX DN
      )

      ( <oid-at23> <oid-at26> NAME 'configurationRefs' 'cimConfigurationRef'
        DESC 'The Configuration objects object that groups the Settings and
              dependencies associated with the ManagedSystemElement.'
        SYNTAX DN
      )

      ( <oid-oc10> NAME 'dmtfElementConfigurationAuxClass' 'cim22ElementConfigurationAuxClass'
        DESC 'association relating 'This association relates a Configuration object to one or
              more ManagedSystemElements' ManagedSystemElements. The Configuration object
              represents a certain behavior, or a desired functional
              state for the associated ManagedSystemElements. Attribute
              cimElementRef points to cim22ManagedSystemElement and
attribute
              cimConfigurationRef points to cim22Configuration.'
        SUP top AUXILIARY
        MUST (elementRefs
        MAY (cimElementRef $ configurationRefs) cimConfigurationRef)

      )

2.11 dmtfCollectionConfigurationAuxClass

3.11 cim22CollectionConfigurationAuxClass

   This auxiliary class relates a dmtfConfiguration cim22Configuration object to one or
   more dmtfCollectionOfMSEs cim22CollectionOfMSEs objects. The dmtfConfiguration cim22Configuration object
   represents a certain behavior, or a desired functional state for the
   associated collection. It reuses the collectionRefs and
   configurationRefs attributes.

      ( <oid-oc11> NAME 'dmtfCollectionConfigurationAuxClass' 'cim22CollectionConfigurationAuxClass'
        DESC 'This association relates a Configuration object to one or
              more CollectionOfMSEs objects.' objects. The Configuration object
              represents a certain behavior, or a desired functional
              state for the associated Collection. Attribute
              cimCollectionRef points to cim22CollectionOfMSEs and
              attribute cimConfigurationRef points to cim22Configuration.'
        SUP top AUXILIARY
        MUST (collectionRefs
        MAY (cimCollectionRef $ configurationRefs) cimConfigurationRef)
      )

2.12 dmtfSetting Class

3.12 cim22Setting

   This class represents configuration-related and operational
   parameters for one or more managed system element(s). A managed
   system element may have multiple setting objects associated with it.
   The current operational values for an element's parameters are
   reflected by properties in the element itself or by properties in its
   associations. These properties do not have to be the same values
   present in the setting object. For example, a modem may have a
   setting baud rate of 56Kb/sec but be operating at 19.2Kb/sec.

   This class uses the description and caption attributes defined above
   and defines the attribute settingID, which is the identifier for the
   setting object.

      ( <oid-at24> <oid-at27> NAME 'settingID' 'cimSettingID'
        DESC 'The identifier by which the Setting object is known.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-oc12> NAME 'dmtfSetting' 'cim22Setting'
        DESC 'configuration-related 'The Setting class represents configuration-related and
              operational parameters for one or more ManagedSystemElement(s).'
              ManagedSystemElement(s). A ManagedSystemElement may have
              multiple Setting objects associated with it. The current
              operational values for an Element's parameters are
              reflected by properties in the Element itself or by
              properties in its associations. These properties do not
              have to be the same values present in the Setting
              object. For example, a modem may have a Setting baud rate
              of 56Kb/sec but be operating at 19.2Kb/sec.'
        SUP top ABSTRACT
        MUST (settingID
        MAY (cimSettingID $ caption cimCaption $ description) cimDescription)
      )

2.13 dmtfElementSettingAuxClass Association

3.13 cim22ElementSettingAuxClass

   This auxiliary class represents the association between managed
   system elements and the setting class(es) defined for them. It reuses
   the elementRefs attribute and defines the attribute settingRefs.

      ( <oid-at25> <oid-at28> NAME 'settingRefs' 'cimSettingRef'
        DESC 'The setting objects Setting object associated with the managed system
              elements.' ManagedSystemElement.'
        SYNTAX DN
      )

      ( <oid-oc13> NAME 'dmtfElementSettingAuxClass' 'cim22ElementSettingAuxClass'
        DESC 'association 'ElementSetting represents the association between
              ManagedSystemElements and the Setting class(es) defined for them.'
              them. Attribute cimElementRef points to
              cim22ManagedSystemElement and attribute cimSettingRef points
              to cim22Setting.'
        SUP top AUXILIARY
        MUST (elementRefs
        MAY (cimElementRef $ settingRefs) cimSettingRef)
      )

2.14 dmtfDefaultSettingAuxClass

3.14 cim22DefaultSettingAuxClass

   This auxiliary class represents the association between a
   dmtfManagedSystemElement
   cim22ManagedSystemElement and the single dmtfSetting cim22Setting class that is
   defined to be the default setting for this element.

      ( <oid-at26> NAME 'defaultSettingRefs'
        DESC 'default setting to use for this class
        SYNTAX DN
      )

      ( <oid-oc14> NAME 'dmtfDefaultSettingAuxClass' 'cim22DefaultSettingAuxClass'
        DESC 'represents 'DefaultSetting represents the association between a
              ManagedSystemElement and the single Setting class that is
              defined to be the default setting for this Element.'
              Element. Attribute cimElementRef points to
              cim22ManagedSystemElement and attribute cimSettingRef points
              to cim22Setting.'
        SUP  dmtfElementSettingAuxClass cim22ElementSettingAuxClass AUXILIARY
        MUST (defaultSettingRefs)
        MAY (cimElementRef $ cimSettingRef)
      )

2.15 dmtfSettingContextAuxClass Association

3.15 cim22SettingContextAuxClass

   This auxiliary class associates a setting with one or more
   configuration objects. For example, a network adapter's settings
   could change based on the site/network to which its hosting computer
   system is attached. This class uses the dmtfConfigurationRefs and
   dmtfSettingRefs attributes previously defined.

      ( <oid-at27> <oid-at29> NAME 'contextRefs' 'cimContextRef'
        DESC 'The configuration Configuration object that aggregates settings' the Setting.'
        SYNTAX DN
      )

      ( <oid-oc15> NAME 'dmtfSettingContextAuxClass' 'cim22SettingContextAuxClass'
        DESC 'associates 'This relationship associates Configuration objects with
              Setting objects. For example, a NetworkAdapter's Settings
              could change based on the site/network to which its hosting
              ComputerSystem is attached. Here, the
              ComputerSystem would have two different Configuration
              objects, corresponding to the differences in network
              configuration for the two network segments. Configuration A
              would aggregate a Setting with one or more object for the NetworkAdapter
              when operating on segment "ANet", whereas Configuration objects.' B
              would aggregate a different NetworkAdapter Setting object,
              specific to segment "BNet". Note that many Settings of the
              computer are independent of the network Configuration. For
              example, both Configurations A and B would aggregate the
              same Setting object for the ComputerSystem`s
              MonitorResolution.  Attribute cimContextRef points to
              cim22Configuration and attribute cimSettingRef points to
              cim22Setting.'
        SUP top AUXILIARY
        MUST (contextRefs
        MAY (cimContextRef $ settingRefs) cimSettingRef)
      )

2.16 dmtfCollectionSettingAuxClass

3.16 cim22CollectionSettingAuxClass

   This auxiliary class represents the association between a
   dmtfCollectionOfMSEs
   cim22CollectionOfMSEs class and the dmtfSetting cim22Setting class(es) defined
   for them. It reuses the collectionRefs and settingRefs attributes.

      ( <oid-oc16> NAME 'dmtfCollectionSettingAuxClass' 'cim22CollectionSettingAuxClass'
        DESC 'association 'CollectionSetting represents the association between a
              CollectionOfMSEs class and the Setting class(es) defined
              for them.' them. Attribute cimCollectionRef points to
              cim22CollectionOfMSEs and attribute cimSettingRef points to
              cim22Setting.'
        SUP top AUXILIARY
        MUST (collectionRefs
        MAY (cimCollectionRef $ settingRefs) cimSettingRef)
      )

2.17 dmtfSystem Class

3.17 cim22System

   This class is a logical element that aggregates an enumerable set of
   managed system elements and operates as a functional whole. Within
   any particular subclass of system, there is a well-defined list of
   managed system element classes whose instances must be aggregated.

   This class uses the attributes creationClassName and name previously
   defined and defines the attributes nameFormat, primaryOwnerContact,
   primaryOwnerName, and roles.  The nameFormat attribute identifies how
   the system name was generated.  Primary owner information (name

      ( <oid-at30> NAME 'cimNameFormat'
        DESC 'The System object and
   contact) its derivatives are stored in Top Level Objects
              of CIM. They provide the primaryOwnerName and primaryOwnerContact
   information, respectively.  The roles attributes scope for numerous
              components. Having unique System keys is an array of
   strings specifying required. A
              heuristic can be defined in individual System subclasses to
              attempt to always generate the roles this system plays.

      ( <oid-at28> NAME 'nameFormat'
        DESC 'identifies same System Name Key. The
              NameFormat property identifies how the System name was
              generated, using the
              subclass subclass' heuristic.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at29> <oid-at31> NAME 'primaryOwnerContact' 'cimPrimaryOwnerContact'
        DESC 'A string that provides information on how the primary
              system owner can be reached (e.g. phone number, email
              address, ...' ...).'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at30> <oid-at32> NAME 'primaryOwnerName' 'cimPrimaryOwnerName'
        DESC 'The name of the primary system owner.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at31> <oid-at33> NAME 'roles' 'cimRoles'
        DESC 'what 'An array (bag) of strings that specify the roles this
              System plays in the IT-environment.' IT-environment. Subclasses of System
              may override this property to define explicit Roles
              values. Alternately, a Working Group may describe the
              heuristics, conventions and guidelines for specifying
              Roles. For example, for an instance of a networking system,
              the Roles property might contain the string, "Switch" or
              "Bridge".'
        SYNTAX string
      )

      ( <oid-oc17> NAME 'dmtfSystem' 'cim22System'
        DESC 'A Logical Element cim22System is a LogicalElement that aggregates an
              enumerable set of Managed System Elements.' Elements. The aggregation
              operates as a functional whole. Within any particular
              subclass of System, there is a well-defined list of Managed
              System Element classes whose instances must be aggregated.'
        SUP dmtfLogicalElement ABSTRACT cim22LogicalElement
        MUST (creationClassName (cimCreationClassName $ name cimName)
        MAY (cimNameFormat $ cimPrimaryOwnerContact $
             cimPrimaryOwnerName $ cimRoles)
      )

      ( <oid-nf2> NAME 'cim22SystemNameForm'
        OC cim22System
        MUST (orderedCimModelPath)
      )

      ( <sr2> NAME 'cim22SystemStructureRule'
        FORM cim22SystemNameForm
      )

   The following content rule specifies the auxiliary classes that may
   be attached to cim22System.

      ( <oid-oc17> NAME 'cim22SystemContentRule'
        DESC 'The auxiliary classes that may be attached to cim22System'
        AUX (cim22SystemComponentAuxClass $ cim22CollectedMSEsAuxClass $
             cim22LogicalIdentityAuxClass $ nameFormat cim22ElementSettingAuxClass $
              primaryOwnerContact
             cim22DependencyAuxClass $ primaryOwnerName cim22ComponentAuxClass $ roles)
             cim22ElementConfigurationAuxClass $
             cim22ProvidesServiceToElementAuxClass)
      )

2.18 dmtfComputerSystem Class

3.18 cim22ComputerSystem

   This class is derived from dmtfSystem cim22System and represents a special
   collection of managed system elements that provide compute
   capabilities.  Thus, it serves as aggregation point to associate one
   or more of the following elements: file systems, operating systems,
   processors and memory (volatile and/or non-volatile storage).  This
   class overrides the nameFormat attribute to show the CIM V2 System
   model heuristic for determining the computer system's name.  It also
   defines the attributes otherIdentifyingInfo, identifyingDescriptions,
   and dedicated.

      ( <oid-at32> NAME 'otherIdentifyingInfo'
        DESC 'captures additional data, beyond system name information,
              that could be used to identify a computer system.'
        SYNTAX string{256}
      )

      ( <oid-at33> NAME 'identifyingDescriptions'
        DESC 'An array of free-form strings providing explanations and
              details behind the entries in the otherIdentifyingInfo
              array.'
        SYNTAX string
      )

      ( <oid-at34> <oid-at36> NAME 'dedicated' 'cimDedicated'
        DESC 'Enumeration showing indicating whether the ComputerSystem is a
              special-purpose System (ie, dedicated to a particular use),
              versus being "general purpose".' purpose". For example, one could
              specify that the System is dedicated to "Print" (value=11)
              or acts as a "Hub" (value=8).'
        SYNTAX integer
      )

      ( <oid-oc18> NAME 'dmtfComputerSystem' 'cim22ComputerSystem'
        DESC 'a 'A class derived from System that is a special collection of ManagedSystemElements that provide
              ManagedSystemElements. This collection provides compute capabilities'
              capabilities and serves as aggregation point to associate
              one or more of the following elements: FileSystem,
              OperatingSystem, Processor and Memory (Volatile and/or
              NonVolatile Storage).'
        SUP dmtfSystem ABSTRACT cim22System
        MAY (cimDedicated)
      )
      ( <oid-nf11> NAME 'cim22ComputerSystemNameForm'
        OC cim22ComputerSystem
        MUST (otherIdentifyingInfo $ identifyingDescriptions $ dedicated) (orderedCimModelPath)
      )

2.19 dmtfLogicalDevice Class

      ( <sr11> NAME 'cim22ComputerSystemStructureRule'
        FORM cim22ComputerSystemNameForm
      )

3.19 cim22LogicalDevice

   This class represents an abstraction or emulation of a hardware
   entity, that may or may not be realized in physical hardware. Any
   characteristics of a logical device that are used to manage its
   operation or configuration are contained in, or associated with, this
   object.

   This object defines the attributes systemCreationClassName,
   systemName, deviceID, powerManagementSupported,
   powerManagementCapabilities, availability, statusInfo, lastErrorCode,
   errorDescription, errorCleared, powerOnHours, totalPowerOnHours and
   also uses the previously defined creationClassName,
   otherIdentifyingInfo and identifyingDescriptions.  The
   systemCreationClassName, systemName, lastErrorCode, errorCleared and
   deviceID attributes are self explanatory and powerManagementSupportd
   shows whether the device can be power managed.  If the device can be
   power managed, the capabilities for doing so are presented in the
   powerManagementCapabilities attribute (an array of integers). Allowed
   values for this attribute are: "Unknown", "Not Supported",
   "Disabled", "Enabled", "Power Saving Modes Entered Automatically",
   "Power State Settable", "Power Cycling Supported", and "Timed Power
   On Supported".  The availability attribute contains availability and
   status of the Device, while statusInfo is an integer showing whether
   the LogicalDevice is in an enabled (value = 3), disabled (value = 4)
   or some other (1) or unknown (2) state. If this property does not
   apply to the LogicalDevice, the value, 5 ("Not Applicable") should be
   used.  ErrorDescirption is a free-form string supplying more
   information about the error recorded in LastErrorCode, including
   information on any corrective actions that may be taken.

      ( <oid-at35> <oid-at37> NAME 'systemCreationClassName' 'cimSystemCreationClassName'
        DESC 'The scoping System's CreationClassName.  May be used as a
RDN.' CreationClassName.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at36> <oid-at38> NAME 'systemName' 'cimSystemName'
        DESC 'The scoping System's Name.  May be used as a RDN.' Name.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at37> <oid-at39> NAME 'deviceID' 'cimDeviceID'
        DESC 'An address or other identifying information to uniquely
              name the LogicalDevice.  May be used as a RDN.' LogicalDevice.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at38> <oid-at40> NAME 'powerManagementSupported' 'cimPowerManagementSupported'
        DESC 'shows if 'Boolean indicating that the Device can be power managed -
              ie, put into a power save state.' state. This boolean does not
              show that power management features are currently
              enabled, or if enabled, what features are supported. Refer
              to the PowerManagementCapabilities array for this
              information. If this boolean is false, the integer value 1,
              for the string, "Not Supported", should be the only entry
              in the PowerManagementCapabilities array.'
        SYNTAX boolean SINGLE-VALUE
      )

      ( <oid-at39> <oid-at41> NAME 'powerManagementCapabilities' 'cimPowerManagementCapabilities'
        DESC 'Indicates 'Shows the specific power-related capabilities of a
              LogicalDevice.'
              LogicalDevice. The array values, 0="Unknown", 1="Not
              Supported" and 2="Disabled" are self-explanatory. The
              value, 3="Enabled" shows that the power management
              features are currently enabled but the exact feature set is
              unknown or the information is unavailable. "Power Saving
              Modes Entered Automatically" (4) describes that a Device
              can change its power state based on usage or other
              criteria. "Power State Settable" (5) shows that the
              SetPowerState method is supported. "Power Cycling
              Supported" (6) shows that the SetPowerState method can
              be invoked with the PowerState input variable set to 5
              ("Power Cycle"). "Timed Power On Supported" (7) shows
              that the SetPowerState method can be invoked with the
              PowerState input variable set to 5 ("Power Cycle") and the
              Time parameter set to a specific date and time, or
              interval, for power-on.'
        SYNTAX integer
      )

      ( <oid-at40> <oid-at42> NAME 'availability' 'cimAvailability'
        DESC 'The availability and status of the Device.' Device. For example, the
              Availability property shows that the Device is running
              and has full power (value=3), or is in a warning (4), test
              (5), degraded (10) or power save state (values 13-15 and
              17). Regarding the Power Save states, these are defined as
              follows: Value 13 ("Power Save - Unknown") shows that
              the Device is known to be in a power save mode, but its
              exact status in this mode is unknown; 14 ("Power Save - Low
              Power Mode") shows that the Device is in a power save
              state but still functioning, and may exhibit degraded
              performance; 15 ("Power Save - Standby") describes that the
              Device is not functioning but could be brought to full
              power "quickly"; and value 17 ("Power Save - Warning")
              shows that the Device is in a warning state, though
              also in a power save mode.'
        SYNTAX integer SINGLE-VALUE
      )

      ( <oid-at41> <oid-at43> NAME 'statusInfo' 'cimStatusInfo'
        DESC 'logical device state' 'StatusInfo is a string indicating whether the LogicalDevice
              is in an enabled (value = 3), disabled (value = 4) or some
              other (1) or unknown (2) state. If this property does not
              apply to the LogicalDevice, the value, 5 ("Not
              Applicable"), should be used.'
        SYNTAX integer SINGLE-VALUE
      )

      ( <oid-at42> <oid-at44> NAME 'lastErrorCode' 'cimLastErrorCode'
        DESC 'the 'LastErrorCode captures the last error code reported by the
              LogicalDevice.'
        SYNTAX integer SINGLE-VALUE
      )

      ( <oid-at43> <oid-at45> NAME 'errorDescription' 'cimErrorDescription'
        DESC 'more 'ErrorDescription is a free-form string supplying more
              information about the error recorded in LastErrorCode' LastErrorCode, and
              information on any corrective actions that may be taken.'
        SYNTAX string SINGLE-VALUE
      )

      ( <oid-at44> <oid-at46> NAME 'errorCleared' 'cimErrorCleared'
        DESC 'shows 'ErrorCleared is a boolean property indicating that the
              error reported in LastErrorCode is now cleared.'
        SYNTAX boolean SINGLE-VALUE
      )

      ( <oid-at45> NAME 'powerOnHours'
        DESC 'The number of consecutive hours that this Device has been
              powered, since its last power cycle.'
        SYNTAX integer SINGLE-VALUE
      )

      ( <oid-at46> NAME 'totalPowerOnHours'
        DESC 'The total number of hours that this Device has been
              powered.'
        SYNTAX integer SINGLE-VALUE
      )

      ( <oid-oc19> NAME 'dmtfLogicalDevice' 'cim22LogicalDevice'
        DESC 'An abstraction or emulation of a hardware entity' entity, that may
              or may not be Realized in physical hardware. Any
              characteristics of a LogicalDevice that are used to manage
              its operation or configuration are contained in, or
              associated with, the LogicalDevice object. Examples of the
              operational properties of a Printer would be paper sizes
              supported, or detected errors. Examples of the
              configuration properties of a Sensor Device would be
              threshold settings. Various configurations could exist for
              a LogicalDevice. These configurations could be contained in
              Setting objects and associated with the LogicalDevice.'
        SUP dmtfLogicalElement ABSTRACT cim22LogicalElement
        MUST (systemCreationClassName $ systemName $ creationClassName $
              deviceID $ powerManagementSupported (cimSystemCreationClassName $
              powerManagementCapabilities cimSystemName $ availability $ statusInfo
              cimCreationClassName $
              lastErrorCode cimDeviceID)
        MAY (cimPowerManagementSupported $ errorDescription cimAvailability $ errorCleared
             cimPowerManagementCapabilities $
           otherIdentifyingInfo cimStatusInfo $ powerOnHours
             cimLastErrorCode $ totalPowerOnHours cimErrorDescription $
           identifyingDescriptions)
      )

   Although systemCreationClassName and systemName may be used as RDNs
   for this class, the solution taken in this schema is to require that
   this class follow the containment and name form rules below.

      ( 1 NAME 'dmtfLogicalDeviceStructureRule2'
        FORM dmtfLogicalDeviceNameForm1
        SUP 3 4
      )

      ( 2 NAME 'dmtfLogicalDeviceStructuralRule2'
        FORM dmtfLogicalDeviceNameForm2
        SUP 3 4
      )

      ( <oid-nf1> NAME 'dmtfLogicalDeviceNameForm1'
        OC dmtfLogicalDevice
        MUST (creationClassName)
      )

      ( <oid-nf2> NAME 'dmtfLogicalDeviceNameForm2'
        OC dmtfLogicalDevice
        MUST (deviceID) cimErrorCleared)
      )

      ( <oid-nf3> NAME 'dmtfSystemNameForm1'
        OC dmtfSystem
        MUST (creationClassName)
      )

      ( <oid-nf4> NAME 'dmtfSystemNameForm2' 'cim22LogicalDeviceNameForm'
        OC dmtfSystem cim22LogicalDevice
        MUST (name) (orderedCimModelPath)
      )

      ( 3 <sr3> NAME 'dmtfSystemStructureRule1' 'cim22LogicalDeviceStructureRule'
        FORM dmtfSystemNameForm1 cim22LogicalDeviceNameForm
        SUP <sr2>
      )

   The following content rule specifies the auxiliary classes that may
   be attached to cim22LogicalDevice.

      ( 4 <oid-oc19> NAME 'dmtfSystemStructureRule2'
        FORM dmtfSystemNameForm1 'cim22LogicalDeviceContentRule'
        DESC 'The auxiliary classes that may be attached to
cim22LogicalDevice'
        AUX (cim22RealizesAuxClass $ cim22LogicalIdentityAuxClass $
             cim22CollectedMSEsAuxClass $
             cim22ElementConfigurationAuxClass $
             cim22ElementSettingAuxClass $ cim22DependencyAuxClass $
             cim22ProvidesServiceToElementAuxClass $
             cim22ComponentAuxClass $ cim22SystemComponentAuxClass)
      )

2.20 dmtfService Class

3.20 cim22Service

   This class represents a Logical Element that contains the information
   necessary to represent and manage the functionality provided by a
   device and/or software feature. A service is a general-purpose object
   to configure and manage the implementation of functionality. It is
   not the functionality itself.

   This class uses the systemCreationClassName, systemName,
   creationClassName and name attributes previously defined. It also
   defines the attributes startMode and started.  The startMode
   attribute shows whether a service is automatically started or only
   started on request, while started shows if the service has been
   started or stopped.

      ( <oid-at47> NAME 'startMode' 'cimStartMode'
        DESC 'shows 'StartMode is a string value indicating whether the Service
              is automatically started by a System, Operating System,
              etc. or only started on request.'
        SYNTAX string{10} SINGLE-VALUE
      )

      ( <oid-at48> NAME 'started' 'cimStarted'
        DESC 'boolean showing 'Started is a boolean indicating whether the Service has
              been started (TRUE), or stopped (FALSE).'
        SYNTAX boolean SINGLE-VALUE
      )

      ( <oid-oc20> NAME 'dmtfService' 'cim22Service'
        DESC 'information 'A cim22Service is a Logical Element that contains the
              information necessary to represent and manage the
              functionality provided by a Device and/or SoftwareFeature.'
              SoftwareFeature. A Service is a general-purpose object to
              configure and manage the implementation of
              functionality. It is not the functionality itself.'
        SUP dmtfLogicalElement ABSTRACT cim22LogicalElement
        MUST (creationClassName (cimCreationClassName $ name cimName $ startMode cimSystemName $ started
              cimSystemCreationClassName)
        MAY (cimStartMode $
              systemCreationClassName $ systemName)
      )

   Although systemCreationClassName and systemName may be used as RDNs
   for this class, the solution taken in this schema is to require that
   this class follow the containment and name form rules below.

      ( 5 NAME 'dmtfServiceStructureRule1'
        FORM dmtfServiceNameForm1
        SUP 3 4 cimStarted)
      )

      ( <oid-nf5> <oid-nf4> NAME 'dmtfServiceNameForm1' 'cim22ServiceNameForm'
        OC dmtfService cim22Service
        MUST (creationClassName) (orderedCimModelPath)
      )

      ( 6 <sr4> NAME 'dmtfServiceStructureRule2' 'cim22ServiceStructureRule'
        FORM dmtfServiceNameForm2 cim22ServiceNameForm
        SUP 3 4 <sr2>
      )

   The following content rule specifies the auxiliary classes that may
   be attached to cim22Service.

      ( <oid-nf6> <oid-oc20> NAME 'dmtfServiceNameForm'
        OC dmtfService
        MUST (name) 'cim22ServiceContentRule'
        DESC 'The auxiliary classes that may be attached to cim22Service'
        AUX (cim22ServiceAccessBySAPAuxClass $
             cim22ServiceServiceDependencyAuxClass $
             cim22ServiceSAPDependencyAuxClass $
             cim22ProvidesServiceToElementAuxClass $
             cim22ServiceComponentAuxClass $
             cim22LogicalIdentityAuxClass $ cim22CollectedMSEsAuxClass $
             cim22ElementConfigurationAuxClass $
             cim22ElementSettingAuxClass $ cim22DependencyAuxClass $
             cim22ComponentAuxClass $ cim22SystemComponentAuxClass)
      )

2.21 dmtfServiceAccessPoint Class

3.21 cim22ServiceAccessPoint

   This class represents the ability to use or invoke a service. Access
   points represent that a service is made available to other entities
   for use. This class uses the previously
defined attributes creationClassName, name, systemCreationClassName and
systemName.

      ( <oid-oc21> NAME 'dmtfServiceAccessPoint' 'cim22ServiceAccessPoint'
        DESC 'representation of 'cim22ServiceAccessPoint represents the ability to use or
              invoke a Service' Service. Access points represent that a Service is
              made available to other entities for use.'
        SUP dmtfLogicalElement ABSTRACT cim22LogicalElement
        MUST (creationClassName (cimCreationClassName $ name cimName $ systemCreationClassName cimSystemName $ systemName)
              cimSystemCreationClassName)
      )

Although systemCreationClassName and systemName may be used as RDNs for
this class, the solution taken in this schema is to require that this
class follow the containment and name form rules below.

      ( 7 NAME 'dmtfServiceAccessPointStructureRule1'
     FORM dmtfServiceAccessPointNameForm1
     SUP 3 4

   )

   ( <oid-nf7> <oid-nf5> NAME 'dmtfServiceAccessPointNameForm1' 'cim22ServiceAccessPointNameForm'
        OC dmtfServiceAccessPoint cim22ServiceAccessPoint
        MUST (creationClassName) (orderedCimModelPath)
      )

      ( 8 <sr5> NAME 'dmtfServiceAccessPointStructureRule2' 'cim22ServiceAccessPointStructureRule'
        FORM dmtfServiceAccessPointNameForm2 cim22ServiceAccessPointNameForm
        SUP 3 4 <sr2>
      )

   The following content rule specifies the auxiliary classes that may
   be attached to cim22ServiceAccessPoint.

      ( <oid-nf8> <oid-oc21> NAME 'dmtfServiceAccessPointNameForm2'
     OC dmtfServiceAccessPoint
     MUST (name) 'cim22ServiceAccessPointContentRule'
        DESC 'The auxiliary classes that may be attached to
              cim22ServiceAccessPoint'
        AUX (cim22ServiceAccessBySAPAuxClass $
             cim22ServiceSAPDependencyAuxClass $
             cim22SAPSAPDependencyAuxClass $
             cim22LogicalIdentityAuxClass $ cim22CollectedMSEsAuxClass $
             cim22ElementConfigurationAuxClass $
             cim22ElementSettingAuxClass $ cim22DependencyAuxClass $
             cim22ProvidesServiceToElementAuxClass $
             cim22ComponentAuxClass $ cim22SystemComponentAuxClass)
      )

2.22 dmtfDependencyAuxClass Association

3.22 cim22DependencyAuxClass

   This class represents a generic association used to establish
   dependency relationships between objects.  It defines two attributes
   antecedentRefs and dependentRefs, which must both point to
   dmtfManagedSystemElement objects.

      ( <oid-at49> NAME 'antecedentRefs' 'cimAntecedentRef'
        DESC 'the 'Antecedent represents the independent objects object in this
              association.'
        SYNTAX DN
      )

      ( <oid-at50> NAME 'dependentRefs' 'cimDependentRef'
        DESC 'the 'Dependent represents the object dependent on the antecedent.'
              Antecedent.'
        SYNTAX DN
      )

      ( <oid-oc22> NAME 'dmtfDependencyAuxClass' 'cim22DependencyAuxClass'
        DESC 'generic 'cimDependency is a generic association used to establish
              dependency relationships between objects.'
        SUP top AUXILIARY
        MUST (antecedentRefs $ dependentRefs)
      )

2.23 dmtfDependencyContextAuxClass Association

   This relationship associates a dependency with one or more
   configuration objects. For example, a computer system's dependencies
   could change based on the site/network to which the system is
   attached.

   This class reuses the contextRefs attribute defined previously and
   defines the attribute dependencyRefs, which points Both attributes
              point to a set of
   dmtfDependency objects.

      ( <oid-at51> NAME 'dependencyRefs'
        DESC 'An aggregated Dependency.'
        SYNTAX DN
      )

      ( <oid-oc23> NAME 'dmtfDependencyContextAuxClass'
        DESC 'association of Dependency with one or more Configurations' cim22ManagedSystemElement objects.'
        SUP top AUXILIARY
        MUST (dmtfConfigurationRefs
        MAY (cimAntecedentRef $ dmtfDependencyRefs) cimDependentRef)
      )

2.24 dmtfServiceAccessBySAPAuxClass Association

3.23 cim22ServiceAccessBySAPAuxClass

   This association identifies the access points for a service. For
   example, a printer may be accessed by Netware, MacIntosh or Windows
   service access points, potentially hosted on different systems.  In
   this association, antecedentRef points to dmtfService objects and
   dependentRef points to dmtfServiceAccessPoint objects.

      ( <oid-oc24> <oid-oc23> NAME 'dmtfServiceAccessBySAPAuxClass' 'cim22ServiceAccessBySAPAuxClass'
        DESC 'identifies 'ServiceAccessBySAP is an association that identifies
              the access points for a service' Service. For example, a printer may
              be accessed by Netware, MacIntosh or Windows
              ServiceAccessPoints, potentially hosted on different
              Systems. Attribute cimAntecedentRef points to cim22Service
              and attribute cimDependentRef points to
              cim22ServiceAccessPoint.'
        SUP dmtfDependencyAuxClass cim22DependencyAuxClass AUXILIARY
        MAY (cimAntecedentRef $ cimDependentRef)
      )

2.25 dmtfServiceServiceDependencyAuxClass Association

3.24 cim22ServiceServiceDependencyAuxClass

   This is an association between two services, showing that the latter
   is required to be present, required to have completed, or must be
   absent for the former Service to provide its functionality. For
   example, boot Services may be dependent on underlying BIOS disk and
   initialization services. For initialization services, the boot
   service is simply dependent on the initialization services
   completing.

   In this class, both antecedentRefs and dependentRefs point to
   dmtfService objects.  In addition, this class stores the type of
   dependency in the typeOfDependency attribute. Allowed values for
   typeOfDepencency are: "Unknown", "Other", "Service Must Have
   Completed", "Service Must Be Started", and "Service Must Not Be
   Started".

      ( <oid-at52> <oid-at51> NAME 'typeOfDependency' 'cimTypeOfDependency'
        DESC 'type of 'The Service to Service dependency.' dependency. This property describes
              that the associated Service must have completed (value=2),
              must be started (3) or must not be started (4) in order for
              the Service to function.'
        SYNTAX integer SINGLE-VALUE
      )

      ( <oid-oc25> <oid-oc24> NAME 'dmtfServiceServiceDependencyAuxClass' 'cim22ServiceServiceDependencyAuxClass'
        DESC 'association 'ServiceServiceDependency is an association between two services' a
              Service and another Service, indicating that the latter is
              required to be present, required to have completed, or must
              be absent for the former Service to provide its
              functionality. For example, Boot Services may be dependent
              on underlying BIOS Disk and initialization Services. In
              the case of the initialization Services, the Boot Service
              is simply dependent on the init Services completing. For
              the Disk Services, Boot Services may actually use the
              SAPs of this Service. This usage dependency is modeled via
              the ServiceSAPDependency association. Both attributes
              point to cim22Service objects.'
        SUP dmtfDependencyAuxClass cim22DependencyAuxClass AUXILIARY
        MUST (typeOfDependency)
        MAY (cimAntecedentRef $ cimDependentRef $ cimTypeOfDependency)
      )

2.26 dmtfServiceSAPDependencyAuxClass Association

3.25 cim22ServiceSAPDependencyAuxClass

   This class is an association between a service and a service access
   point showing that the referenced SAP is used by the service to
   provide its functionality. For example, boot services may invoke BIOS
   disk services (interrupts) to function.

   In this class, antecedentRefs point to dmtfServiceAccessPoint objects
   and dependentRefs point to dmtfService objects.

      ( <oid-oc26> <oid-oc25> NAME 'dmtfServiceSAPDependencyAuxClass' 'cim22ServiceSAPDependencyAuxClass'
        DESC 'association 'ServiceSAPDependency is an association between a
              Service and a ServiceAccessPoint' ServiceAccessPoint indicating that the
              referenced SAP is used by the Service to provide its
              functionality. For example, Boot Services may invoke BIOS'
              Disk Services (interrupts) to function. Attribute
              cimAntecedentRef points to cim22ServiceAccessPoint and
              attribute cimDependentRef points to cim22Service.'
        SUP dmtfDependencyAuxClass cim22DependencyAuxClass AUXILIARY
        MAY (cimAntecedentRef $ cimDependentRef)
      )

2.27 dmtfSAPSAPDependencyAuxClass Association

3.26 cim22SAPSAPDependencyAuxClass

   This class is an association between two service access points
   showing that the latter is required in order for the former to use or
   connect with its service. For example, to print at a network printer,
   local print access points must use underlying network-related SAPs,
   or protocol endpoints, to send the print request.

   In this class, both antecedentRefs and dependentRefs point to
   dmtfServiceAccessPoint objects.

      ( <oid-oc27> <oid-oc26> NAME 'dmtfSAPSAPDependencyAuxClass' 'cim22SAPSAPDependencyAuxClass'
        DESC 'association 'SAPSAPDependency is an association between two ServiceAccessPoints' a
              ServiceAccessPoint and another ServiceAccessPoint
              indicating that the latter is required in order for the
              former ServiceAccessPoint to use or connect with its
              Service. For example, to print at a network printer, local
              Print Access Points must use underlying network-related
              SAPs, or ProtocolEndpoints, to send the print request.
              Both attributes point to cim22ServiceAccessPoint objects.'
        SUP dmtfDependencyAuxClass cim22DependencyAuxClass AUXILIARY
        MAY (cimAntecedentRef $ cimDependentRef)
      )

2.28 dmtfProvidesServiceToElementAuxClass

3.27 cim22ProvidesServiceToElementAuxClass

   This association is used to describe that dmtfManagedSystemElements cim22ManagedSystemElements
   may be dependent on the functionality of one or more Services. In
   this class antecedentRefs point to dmtfService objects and
   dependentRefs point to dmtfManagedSystemElement objects.

      ( <oid-oc28> <oid-oc27> NAME 'dmtfProvidesServiceToElementAuxClass' 'cim22ProvidesServiceToElementAuxClass'
        DESC 'this association 'ProvidesServiceToElement is used to describe that
              ManagedSystemElements may be dependent on the functionality
              of one or more Services.' Services. An example is that a Processor and
              an Enclosure (PhysicalElement) are dependent on AlertOnLAN
              Services to signal an incomplete or erroneous boot, and
              hardware-related errors. Attribute cimAntecedentRef points
              to cim22Service and attribute cimDependentRef points to
              cim22ManagedSystemElement.'
        SUP dmtfDependencyAuxClass cim22DependencyAuxClass AUXILIARY
        MAY (cimAntecedentRef $ cimDependentRef)
      )

2.29 dmtfRealizesAuxClass Association

3.28 cim22RealizesAuxClass

   This association defines the mapping between a logical device and the
   physical component that implements the device. In this class,
   antecedentRefs points to dmtfPhysicalElement objects and
   dependentRefs points to dmtfLogicalElement objects.

      ( <oid-oc29> <oid-oc28> NAME 'dmtfRealizesAuxClass' 'cim22RealizesAuxClass'
        DESC 'mapping 'Realizes is the association that defines the mapping
              between a Logical Device and the physical component that
              implements the Device.' Device. Attribute cimAntecedentRef points to
              cim22PhysicalElement and attribute cimDependentRef points to
              cim22LogicalDevice.'
        SUP dmtfDependencyAuxClass cim22DependencyAuxClass AUXILIARY
        MAY (cimAntecedentRef $ cimDependentRef)
      )

2.30 dmtfComponentAuxClass Association

3.29 cim22ComponentAuxClass

   This class is a generic association used to establish 'part of'
   relationships between managed system elements. For example, the
   system component association defines parts of a system.  This class
   defines two attributes: groupRefs, which holds the parent elements of
   the association and partRefs, which holds the children elements of
   the association.  In this class, both attributes point to
   dmtfManagedSystemElement objects.

      ( <oid-at53> <oid-at52> NAME 'groupRefs' 'cimGroupComponentRef'
        DESC 'The parent elements element in the association.'
        SYNTAX DN
      )

      ( <oid-at54> <oid-at53> NAME 'partRefs' 'cimPartComponentRef'
        DESC 'The children elements child element in the association.'
        SYNTAX DN
      )

      ( <oid-oc30> <oid-oc29> NAME 'dmtfComponentAuxClass' 'cim22ComponentAuxClass'
        DESC 'generic 'Component is a generic association used to establish part of
              "part of" relationships between managed system elements.' Managed System
              Elements. For example, the SystemComponent association
              defines parts of a System. Both attributes point to
              cim22ManagedSystemElement objects.'
        SUP top AUXILIARY
        MUST (groupRefs
        MAY (cimGroupComponentRef $ partRefs) cimPartComponentRef)
      )

2.31 dmtfSystemComponentAuxClass Association

3.30 cim22SystemComponentAuxClass

   This class is a specialization of the dmtfComponentAuxClass cim22ComponentAuxClass
   association that establishes part of relationships between a system
   and the managed system elements of which it is composed.  In this
   class, groupRefs points to dmtfSystem objects while partRefs
   continues to dmtfManagedSystemElement objects.

      ( <oid-oc31> <oid-oc30> NAME 'dmtfSystemComponentAuxClass' 'cim22SystemComponentAuxClass'
        DESC 'specialization 'SystemComponent is a specialization of dmtfComponent handling the
              Component association that establishes "part of"
              relationships between a System and the Managed System
              Elements of which it is composed.' composed. Attribute
              cimGroupComponentRef points to cim22System and attribute
              cimPartComponentRef points to cim22ManagedSystemElement.'
        SUP dmtfComponentAuxClass cim22ComponentAuxClass AUXILIARY
        MAY (cimGroupComponentRef $ cimPartComponentRef)
      )

2.32 dmtfServiceComponentAuxClass

3.31 cim22ServiceComponentAuxClass

   This auxiliary class models a set of subordinate services that are
   aggregated together to form a higher-level service.  In it, both
   groupRefs and partRefs both point to dmtfService objects.

      ( <oid-oc32> <oid-oc31> NAME 'dmtfServiceComponentAuxClass' 'cim22ServiceComponentAuxClass'
        DESC 'The ServiceComponent aggregation models a set of
              subordinate Services that are aggregated together to form a
              higher-level service.' service. Both attributes point to cim22Service
              objects.'
        SUP dmtfComponentAuxClass cim22ComponentAuxClass AUXILIARY
        MAY (cimGroupComponentRef $ cimPartComponentRef)
      )

2.33 dmtfProduct Class

3.32 cim22Product

   This concrete class that is a collection of physical elements,
   software features and/or other products, acquired as a unit.
   Acquisition implies an agreement between supplier and consumer that
   may have implications to product licensing, support and warranty.

   This class uses the previously defined attributes caption,
   description, name, sKU, and version and defines attributes
   identifyingNumber and vendor.  The identifyingNumber provides product
   identification, while vendor contains the name of the product's
   supplier.  Both of these attributes may be used as a RDN.

      ( <oid-at55> <oid-at54> NAME 'identifyingNumber' 'cimIdentifyingNumber'
        DESC 'Product identification such as a serial number on software
              or software,
              a die number on a hardware chip.' chip, or (for non-commercial
              Products) a project number.'
        SYNTAX string{64} SINGLE-VALUE
      )
      ( <oid-at56> <oid-at55> NAME 'vendor' 'cimVendor'
        DESC 'The name of the supplier.' Product's supplier, or entity selling the
              Product (the manufacturer, reseller, OEM, etc.).
              Corresponds to the Vendor property in the Product object in
              the CIM Solution Exchange Standard.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-oc33> <oid-at56> NAME 'dmtfProduct' 'cimSKUNumber'
        DESC 'collection 'Product SKU (stock keeping unit) information.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-oc32> NAME 'cim22Product'
        DESC 'cim22Product is a concrete class that is a collection of
              PhysicalElements, SoftwareFeatures and/or other Products,
              acquired as a unit.' unit. Acquisition implies an agreement
              between supplier and consumer that may have implications
              to Product licensing, support and warranty. Non-commercial
              (e.g., in-house developed Products) should also be
              identified as an instance of cim22Product.'
        SUP top
        MUST (caption (cimIdentifyingNumber $ description cimName $ identifyingNumber cimVendor $ name cimVersion $
              sKUNumber
              orderedCimModelPath)
        MAY (cimCaption $ vendor cimDescription $ version) cimSKUNumber)
      )

      ( <oid-nf6> NAME 'cim22ProductNameForm'
        OC cim22Product
        MUST (orderedCimModelPath)
      )

      ( <sr6> NAME 'cim22ProductStructureRule'
        FORM cim22ProductNameForm
      )

2.34 dmtfProductParentChildAuxClass Association

   The following content rule specifies the auxiliary classes that may
   be attached to cim22Product.

      ( <oid-oc32> NAME 'cim22ProductContentRule'
        DESC 'The auxiliary classes that may be attached to cim22Product'
        AUX (cim22ProductParentChildAuxClass $
             cim22CompatibleProductAuxClass $
             cim22ProductProductDependencyAuxClass $
             cim22ProductSupportAuxClass $  cim22ProductFRUAuxClass $
             cim22ProductPhysicalElementsAuxClass $
             cim22FRUIncludesProductAuxClass)
      )

3.33 cim22ProductParentChildAuxClass

   The association defines a parent child hierarchy among products. For
   example, a product may come bundled with other products. This class
   defines two attributes: parentRefs (the parent of the association)
   and childRefs (the children of the association).  In this class, both
   attributes point to dmtfProduct objects.

      ( <oid-at57> NAME 'parentRefs' 'cimParentRef'
        DESC 'The parent Product in the association.'
        SYNTAX DN
      )

      ( <oid-at58> NAME 'childRefs' 'cimChildRef'
        DESC 'The child Product in the association.'
        SYNTAX DN
      )

      ( <oid-oc34> <oid-oc33> NAME 'dmtfProductParentChildAuxClass' 'cim22ProductParentChildAuxClass'
        DESC 'parent 'The ProductParentChild association defines a parent
              child hierarchy among Products' Products. For example, a Product may
              come bundled with other Products. Both attributes point to
              cim22Product objects.'
        SUP top AUXILIARY
        MUST (parentRefs
        MAY (cimParentRef $ childRefs) cimChildRef)
      )

2.35 dmtfCompatibleProductAuxClass

3.34 cim22CompatibleProductAuxClass Association

   This association between products can show a wide variety of
   information. For example, it can show that the two referenced
   products interoperate, that they can be installed together, that one
   can be the physical container for the other, etc. The string
   attribute compatibilityDescription, defines how the products
   interoperate or are compatible. This class also defines attributes
   productRefs and compatibleProductRefs, both of which point to
   dmtfProduct objects.

      ( <oid-at59> NAME 'productRefs' 'cimProductRef'
        DESC 'The Product for which compatible offerings are defined.'
        SYNTAX DN
      )

      ( <oid-at60> NAME 'compatibleProductRefs' 'cimCompatibleProductRef'
        DESC 'The compatible Product.'
        SYNTAX DN
      )

      ( <oid-at61> NAME 'compatibilityDescription' 'cimCompatibilityDescription'
        DESC 'free-form 'CompatibilityDescription is a free-form string defining
              how the two referenced product
              interoperate' Products interoperate or are
              compatible, any limitations to compatibility, etc.'
        SYNTAX string SINGLE-VALUE
      )
      ( <oid-oc35> <oid-oc34> NAME 'dmtfCompatibleProductAuxClass' 'cim22CompatibleProductAuxClass'
        DESC 'an 'CompatibleProduct is an association between Products' Products
              that can show a wide variety of information. For
              example, it can show that the two referenced Products
              interoperate, that they can be installed together, that
              one can be the physical container for the other, etc. The
              string property, CompatibilityDescription, defines how the
              Products interoperate or are compatible, any limitations
              regarding interoperability or installation, ...  Both
              reference attributes point to cim22Product objects.'
        SUP top AUXILIARY
        MUST (productRefs
        MAY (cimProductRef $ compatibleProductRefs cimCompatibleProductRef $
              compatibilityDescription)
             cimCompatibilityDescription)
      )

2.36 dmtfProductProductDependencyAuxClass Association

3.35 cim22ProductProductDependencyAuxClass

   This association is between two products, showing that one must be
   installed, or must be absent, for the other to function. This is
   conceptually equivalent to the service to service dependency
   association.

   This class defines the attributes requiredProductRefs and
   dependentProductRefs, and uses the previously defined
   typeOfDependency attribute. The reference attributes both point to
   dmtfProduct objects.

      ( <oid-at62> NAME 'requiredProductRefs' 'cimRequiredProductRef'
        DESC 'The required Product.'
        SYNTAX DN
      )

      ( <oid-at63> NAME 'dependentProductRefs' 'cimDependentProductRef'
        DESC 'The Product that is dependent on another Product.'
        SYNTAX DN
      )

      ( <oid-oc36> <oid-oc35> NAME 'dmtfProductProductDependencyAuxClass' 'cim22ProductProductDependencyAuxClass'
        DESC 'dependency 'ProductProductDependency is an association between two products'
              Products, indicating that one must be installed, or must
              be absent, for the other to function. This is conceptually
              equivalent to the ServiceServiceDependency association.
              Both reference attributes point to cim22Product objects.'
        SUP top AUXILIARY
        MUST (requiredProductRefs
        MAY (cimRequiredProductRef $ dependentProductRefs cimDependentProductRef $ typeOfDependency)
             cimTypeOfDependency)
      )

2.37 dmtfSupportAccess Class

3.36 cim22SupportAccess

   This class defines how to obtain help for a product.  It defines
   attributes communicationInfo (providing information about the
   communicationMode), communicationMode (defines the form of
   communication available), locale (defines the geographic region), and
   supportAccessId (arbitrary,

      ( <oid-at64> NAME 'cimSupportAccessId'
        DESC 'SupportAccessID is an arbitrary, free form string defined
              by the Product Vendor or by the organization that may be used as a
   RDN).  In addition, deploys
              the Product. This property, since it uses is a key, should be
              unique throughout the previously defined attribute
   description. enterprise.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at64> <oid-at65> NAME 'communicationInfo' 'cimCommunicationInfo'
        DESC 'provides 'CommunicationInfo provides the details of the
              CommunicationMode. For example, if the CommunicationMode is phone,
              "Phone", CommunicationInfo specifies the phone number to be
              called.'
        SYNTAX string SINGLE-VALUE
      )

      ( <oid-at65> <oid-at66> NAME 'communicationMode' 'cimCommunicationMode'
        DESC 'CommunicationMode defines the form of communication in
              order to obtain support. For example, phone communication
              (value=2), fax (3) or email (8) can be specified.'
        SYNTAX integer SINGLE-VALUE
      )

      ( <oid-at66> <oid-at67> NAME 'locale' 'cimLocale'
        DESC 'Locale defines the geographic region and/or language
              dialect to which this Support resource pertains.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-at67> NAME 'supportAccessId'
        DESC 'SupportAccessID is an arbitrary, free form string defined
              by the Product Vendor or by the organization that deploys
              the Product. This property, since it is a key, should be
              unique throughout the enterprise.  May be used as a RDN.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-oc37> <oid-oc36> NAME 'dmtfSupportAccess' 'cim22SupportAccess'
        DESC 'defines 'The cim22SupportAccess association defines how to obtain
              help for a Product.'
        SUP top
        MUST (communicationInfo (cimSupportAccessId $ communicationMode orderedCimModelPath)
        MAY (cimCommunicationInfo $ description cimCommunicationMode $
              locale cimLocale $ supportAccessId)
             cimDescription)
      )

2.38 dmtfProductSupportAuxClass Association

      ( <oid-nf7> NAME 'cim22SupportAccessNameForm'
        OC cim22SupportAccess
        MUST (orderedCimModelPath)
      )

      ( <sr7> NAME 'cim22SupportAccessStructureRule'
        FORM cim22SupportAccessNameForm
      )

   The following content rule specifies the auxiliary classes that may
   be attached to cim22SupportAccessProduct.

      ( <oid-oc36> NAME 'cim22SupportAccessContentRule'
        DESC 'The auxiliary classes that may be attached to
              cim22SupportAccess'
        AUX (cim22ProductSupportAuxClass)
      )

3.37 cim22ProductSupportAuxClass

   This auxiliary class represents the association between products and
   support access that conveys how support is obtained for the product.
   This is a many-to-many relationship, implying that various types of
   support are available for a product, and that the same support object
   can provide help for multiple products.  This class defines two
   attributes that are self-explanatory.

      ( <oid-at68> NAME 'productRefs'
        DESC 'The Product.'
        SYNTAX DN
      )

      ( <oid-at69> NAME 'supportRefs' 'cimSupportRef'
        DESC 'Support for the Product.'
        SYNTAX DN
      )

      ( <oid-oc38> <oid-oc37> NAME 'dmtfProductSupportAuxClass' 'cim22ProductSupportAuxClass'
        DESC 'the 'cimProductSupport is an association between Product and
              SupportAccess that conveys how support is obtained for the Product.'
              Product. This is a many-to-many relationship, implying that
              various types of Support are available for a Product, and
              that the same Support object can provide help for
              multiple Products. Attribute cimProductRef points to
              cim22Product and attribute cimSupportRef points to
              cim22SupportAccess.'
        SUP top AUXILIARY
        MUST (productRefs
        MAY (cimProductRef $ supportRefs) cimSupportRef)
      )

2.39 dmtfFRU Class

3.38 cim22FRU

   This class is a vendor-defined collection of products and/or physical
   elements that is associated with a product for supporting,
   maintaining or upgrading that product at the customer's location. FRU
   is an acronym for 'field replaceable unit'.  This class uses the
   previously defined caption, description, identifyingNumber, vendor,
   and name attributes and defines the attributes fRUNumber (FRU
   ordering information), and revisionLevel (FRU's revision level.)

      ( <oid-at70> <oid-at69> NAME 'fRUNumber' 'cimFRUNumber'
        DESC 'FRU ordering information.  May be used as a RDN' information.'
        SYNTAX string{64} SINGLE-VALUE
      )
      ( <oid-at71> <oid-at70> NAME 'revisionLevel' 'cimRevisionLevel'
        DESC 'The FRU's revision level.'
        SYNTAX string{64} SINGLE-VALUE
      )

      ( <oid-oc39> <oid-oc38> NAME 'dmtfFRU' 'cim22FRU'
        DESC 'field replacible unit' 'The cimFRU class is a vendor-defined collection of
              Products and/or PhysicalElements that is associated with a
              Product for supporting, maintaining or upgrading that
              Product at the customer's location. FRU is an acronym for
              "field replaceable unit". '
        SUP top
        MUST (caption (cimFRUNumber $ description cimIdentifyingNumber $ fRUNumber cimVendor $ identifyingNumber
              orderedCimModelPath)
        MAY (cimCaption $
              name cimDescription $ vendor cimName $ revisionLevel) cimRevisionLevel)
      )

2.40 dmtfProductFRUAuxClass Association

      ( <oid-nf8> NAME 'cim22FRUNameForm'
        OC cim22FRU
        MUST (orderedCimModelPath)
      )

      ( <sr8> NAME 'cim22FRUStructureRule'
        FORM cim22FRUNameForm
      )

   The following content rule specifies the auxiliary classes that may
   be attached to cim22FRU.

      ( <oid-oc38> NAME 'cim22FRUContentRule'
        DESC 'The auxiliary classes that may be attached to cim22FRU'
        AUX (cim22ProductFRUAuxClass $ cim22FRUPhysicalElementsAuxClass $
             cim22FRUIncludesProductAuxClass)
      )

3.39 cim22ProductFRUAuxClass

   This auxiliary class provides information regarding what product
   components have been or are being replaced and uses the previously
   defined attribute dmtfProductRefs.  It also defines the attribute
   fRURefs, which holds the FRU information. cimProductRefs.

      ( <oid-at72> <oid-at71> NAME 'fRURefs' 'cimFRURef'
        DESC 'The FRU.'
        SYNTAX DN
      )

      ( <oid-oc40> <oid-oc39> NAME 'dmtfProductFRUAuxClass' 'cim22ProductFRUAuxClass'
        DESC 'association 'cimProductFRU is an association between Product and FRU
              that provides information about replacements' regarding what Product components
              have been or are being replaced. The association is one to
              many, conveying that a Product can have many FRUs, and that
              a particular instance of a FRU is only applied to one
              (instance of a) Product. Attribute cimProductRef points to
              cim22Product and attribute cimFRURef points to cim22FRU.'
        SUP top AUXILIARY
        MUST (productRefs
        MAY (cimProductRef $ fRURefs) cimFRURef)
      )

2.41 dmtfProductPhysicalElementsAuxClass Association

   Indicates

3.40 cim22ProductPhysicalElementsAuxClass

   Shows the physical elements that make up a product.  It uses the
   previously defined dmtfProductsRefs cimProductsRefs attribute and defines
   dmtfPhysicalElementRefs.
   cimPhysicalElementRefs.

      ( <oid-at73> <oid-at72> NAME 'componentRefs' 'cimComponentRef'
        DESC 'The PhysicalElement that is a part of the Product.'
        SYNTAX DN
      )

      ( <oid-oc41> <oid-oc40> NAME 'dmtfProductPhysicalElementsAuxClass' 'cim22ProductPhysicalElementsAuxClass'
        DESC 'Indicates 'Shows the PhysicalElements that make up a Product.'
              Product. Attribute cimProductRef points to
              cim22Product and attribute cimComponentRef points to
              cim22PhysicalElement.'
        SUP top AUXILIARY
        MUST (productRefs
        MAY (cimProductRef $ componentRefs) cimComponentRef)
      )

2.42 NAME 'dmtfFRUPhysicalElementsAuxClass'

3.41 cim22FRUPhysicalElementsAuxClass

   This auxiliary class shows the physical elements that make up a FRU
   and uses previously defined attributes.

      ( <oid-oc42> <oid-oc41> NAME 'dmtfFRUPhysicalElementsAuxClass' 'cim22FRUPhysicalElementsAuxClass'
        DESC 'Indicates 'Shows the PhysicalElements that make up a FRU.' FRU. Attribute
              cimFRURef points to cim22FRU and attribute cimComponentRef
              points to cim22PhysicalElement.'
        SUP top AUXILIARY
        MUST (dmtfFRURefs
        MAY (cimFRURef $ dmtfPhysicalElementRefs) cimComponentRef)
      )

2.43 dmtfFRUIncludesProductAuxClass Association

3.42 cim22FRUIncludesProductAuxClass

   This auxiliary class shows that a FRU may be composed of other
   product(s). It uses previously defined attributes.

      ( <oid-oc43> <oid-oc42> NAME 'dmtfFRUIncludesProductAuxClass' 'cim22FRUIncludesProductAuxClass'
        DESC 'Indicates 'Shows that a FRU may be composed of other Product(s).'
        SUP top AUXILIARY
        MUST (dmtfFRURefs $ dmtfProductRefs)
      )

2.44 dmtfStatisticalInformation Class

   This root class holds any arbitrary collection of statistical data
   and/or metrics applicable
              Product(s). Attribute cimFRURef points to one or more managed system elements cim22FRU and
   uses previously defined attributes.

      ( <oid-oc44> NAME 'dmtfStatisticalInformation'
        DESC 'root class for any arbitrary collection of statistical data
              and/or metrics applicable to one or more
              ManagedSystemElements.'
        SUP top ABSTRACT
        MUST (name $ description $ caption)
      )

2.45 dmtfStatisticsAuxClass Association

   This auxiliary class relates managed system elements to the
   statistical group(s) that apply to them. The
              attribute
   dmtfStatisticalInformationRefs is defined by this class.

      ( <oid-at74> NAME 'statsRefs'
        DESC 'The statistic information/object.'
        SYNTAX DN
      )

      ( <oid-oc45> NAME 'dmtfStatisticsAuxClass'
        DESC 'association relating ManagedSystemElements to the
              StatisticalGroup(s) that apply to them.'
        SUP top AUXILIARY
        MUST (statsRefs $ elementRefs)
      )

2.46 dmtfRelatedStatisticsAuxClass Association

   This auxiliary class defines hierarchies and/or dependencies of
   related statistical information classes.  It defines the attributes
   statsRefs and relatedStatsRefs, both of which point cimComponentRef points to
   dmtfStatisticalInformation objects.

      ( <oid-at75> NAME 'relatedStatsRefs'
        DESC 'The related statistics or metrics.'
        SYNTAX DN
      )

      ( <oid-oc46> NAME 'dmtfRelatedStatisticsAuxClass'
        DESC 'hierarchies and/or dependencies of related CIM_Statistical
              Information classes' cim22Product.'
        SUP top AUXILIARY
        MUST (dmtfStatisticalInformationRefs $
dmtfStatisticalInformationRefs)
      )

2.47 dmtfSystemStatisticalInformation class

   This class provides statistical information associated with a system
   object or one of its subclasses.  This class reuses the attributes
   systemCreationClassName, systemName, creationClassName, and name.
      ( <oid-oc47> NAME 'dmtfSystemStatisticalInformation'
        DESC 'Statistical information associated with a System object or
              one of its subclasses.'
        SUP  dmtfStatisticalInformation
        MUST (systemCreationClassName $ systemName $ creationClassName $
              name)
      )

   Although systemCreationClassName and systemName may be used as RDNs
   for this class, the solution taken in this schema is to require that
   this class follow the containment and name form rules below.

      ( 9 NAME 'dmtfSystemStatisticsStructureRule1'
        FORM dmtfSystemStatisticalInformationNameForm1
        SUP 3 4
      )

      ( <oid-nf9> NAME 'dmtfSystemStatisticalInformationNameForm1'
        OC dmtfSystemStatisticalInformation
        MUST (creationClassName)
      )

      ( 10 NAME 'dmtfSystemStatisticsStructureRule2'
        FORM dmtfSystemStatisticalInformationNameForm2
        SUP 3 4
      )

      ( <oid-nf10> NAME 'dmtfSystemStatisticalInformationNameForm2'
        OC dmtfSystemStatisticalInformation
        MUST (name)
      )

2.48 dmtfServiceStatisticalInformation

   Statistical information associated with a service object or one of
   its subclasses.  This class reuses the attributes
   systemCreationClassName, systemName, creationClassName, and name.  It
   defines serviceCreationClassName and serviceName.

      ( <oid-at76> NAME 'serviceCreationClassName'
        DESC 'The scoping Service's CreationClassName.  May be used as
              an RDN.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at77> NAME 'serviceName'
        DESC 'The scoping Service's Name.  May be used as an RDN.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-oc48> NAME 'dmtfServiceStatisticalInformation'
        DESC 'Statistical information associated with a Service object or
              one of its subclasses.'
        SUP dmtfStatisticalInformation
        MUST (systemCreationClassName $ systemName $
              serviceCreationClassName
        MAY (cimFRURef $ serviceName $
              creationClassName $ name)
      )

   Although systemCreationClassName, serviceCreationClassName,
   serviceName and systemName may be used as RDNs for this class, the
   solution taken in this schema is to require that this class follow
   the containment and name form rules below.

      ( 11 NAME 'dmtfServiceStatisticsStructureRule1'
        FORM dmtfServiceStatisticalInformationNameForm1
        SUP 5 6
      )

      ( <oid-nf11> NAME 'dmtfServiceStatisticalInformationNameForm1'
        OC dmtfServiceStatisticalInformation
        MUST (creationClassName)

      )

      ( 12 NAME 'dmtfServiceStatisticsStructureRule2'
        FORM dmtfServiceStatisticalInformationNameForm2
        SUP 5 6
      )

      ( <oid-nf12> NAME 'dmtfServiceStatisticalInformationNameForm2'
        OC dmtfServiceStatisticalInformation
        MUST (name)
      )

2.49 dmtfSAPStatisticalInformation

   Statistical information associated with a service access point object
   or one of its subclasses.  This class reuses the attributes
   systemCreationClassName, systemName, creationClassName, and name.  It
   further defines the attributes sAPCreationClassName and sAPName.

      ( <oid-at78> NAME 'sAPCreationClassName'
        DESC 'The scoping SAP's CreationClassName.  May be used as an
              RDN.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-at79> NAME 'sAPName'
        DESC 'The scoping SAP's Name.  May be used as an RDN.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-oc49> NAME 'dmtfSAPStatisticalInformation'
        DESC 'Statistical information associated with a
              service access point object or one of its subclasses.'
        SUP dmtfStatisticalInformation
        MUST (systemCreationClassName $ systemName $
              sAPCreationClassName $ sAPName $ creationClassName $ name)
      )

   Although systemCreationClassName, sAPCreationClassName, sAPName and
   systemName may be used as RDNs for this class, the solution taken in
   this schema is to require that this class follow the containment and
   name form rules below.

      ( 13 NAME 'dmtfSAPStatisticsStructureRule1'
        FORM dmtfSAPStatisticalInformationNameForm1
        SUP 7 8
      )
      ( <oid-nf13> NAME 'dmtfSAPStatisticalInformationNameForm1'
        OC dmtfSAPStatisticalInformation
        MUST (creationClassName)
      )

      ( 14 NAME 'dmtfSAPStatisticsStructureRule2'
        FORM dmtfSAPStatisticalInformationNameForm2
        SUP 7 8
      )

      ( <oid-nf14> NAME 'dmtfSAPStatisticalInformationNameForm2'
        OC dmtfSAPStatisticalInformation
        MUST (name)
      )

2.50 dmtfDeviceStatisticalInformation

   Statistical information associated with a logical device or one of
   its subclasses.  This class reuses the attributes
   systemCreationClassName, systemName, deviceID, creationClassName,
   name and defines the attribute deviceCreationClassName

      ( <oid-at80> NAME 'deviceCreationClassName'
        DESC 'The scoping Device's CreationClassName.  May be used as an
              RDN.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-oc50> NAME 'dmtfDeviceStatisticalInformation'
        DESC 'Statistical information associated with a LogicalDevice or
              one of its subclasses.'
        SUP  dmtfStatisticalInformation
        MUST (systemCreationClassName $ systemName $
              deviceCreationClassName $ deviceID $ creationClassName $
              name)
        )

   Although systemCreationClassName, deviceCreationClassName, deviceID
   and systemName may be used as RDNs for this class, the solution taken
   in this schema is to require that this class follow the containment
   and name form rules below.

      ( 15 NAME 'dmtfDeviceStatisticsStructureRule1'
        FORM dmtfDeviceStatisticalInformationNameForm1
        SUP 1 2
      )

      ( <oid-nf15> NAME 'dmtfDeviceStatisticalInformationNameForm1'
        OC dmtfDeviceStatisticalInformation
        MUST (name)
      )

      ( 16 NAME 'dmtfDeviceStatisticsStructureRule2'
        FORM dmtfDeviceStatisticalInformationNameForm2
        SUP 1 2
      )

      ( <oid-nf16> NAME 'dmtfDeviceStatisticalInformationNameForm2'
        OC dmtfDeviceStatisticalInformation
        MUST (creationClassName)
      )

2.51 dmtfPhysicalStatisticalInformation

   Statistical information associated with a physical element or one of
   its subclasses.  This class defines the attribute
   physicalCreationClassName and reuses the attributes tag,
   creationClassName, and name.

      ( <oid-at81> NAME 'physicalCreationClassName'
        DESC 'The scoping Element's CreationClassName.  May be used as an
              RDN.'
        SYNTAX string{256} SINGLE-VALUE
      )

      ( <oid-oc51> NAME 'dmtfPhysicalStatisticalInformation'
        DESC 'Statistical information associated with a PhysicalElement
              or one of its subclasses.'
        SUP dmtfStatisticalInformation
        MUST (physicalCreationClassName $ tag $ creationClassName $ name)
      )

   Although physicalCreationClassName, and tag may be used as RDNs for
   this class, the solution taken in this schema is to require that this
   class follow the containment and name form rules below.

      ( 17 NAME 'dmtfPhysicalStatisticsStructureRule1'
        FORM dmtfPhysicalStatisticalInformationNameForm1
        SUP 19 20
      )

      ( <oid-nf17> NAME 'dmtfPhysicalStatisticalInformationNameForm1'
        OC dmtfPhysicalStatisticalInformation
        MUST (name)
      )
      ( 18 NAME 'dmtfPhysicalStatisticsStructureRule2'
        FORM dmtfPhysicalStatisticalInformationNameForm2
        SUP 19 20
      )

      ( <oid-nf18> NAME 'dmtfPhysicalStatisticalInformationNameForm2'
        OC dmtfPhysicalStatisticalInformation
        MUST (creationClassName)
      )

      ( 19 NAME 'dmtfPhysicalElementStructureRule1'
        FORM dmtfPhysicalElementNameForm1
      )

      ( <oid-nf19> NAME 'dmtfPhysicalElementNameForm1'
        OC dmtfPhysicalElement
        MUST (creationClassName)
      )

      ( 20 NAME 'dmtfPhysicalElementStructureRule2'
        FORM dmtfPhysicalElementNameForm2
      )

      ( <oid-nf20> NAME 'dmtfPhysicalElementNameForm2'
        OC dmtfPhysicalElement
        MUST (tag)
      )

3. DIT Content Rules

   The following DIT Content Rules apply to objects in this schema.
   These content rules reference not only auxiliary classes in this
   draft but auxiliary classes from other DMTF CIM models [5, 6, 7, 8, 9].

      ( <oid-oc1> NAME 'dmtfManagedSystemElementContentRule'
        DESC 'shows what auxiliary classes may go with the
              dmtfManagedSystemElement class'
        AUX (dmtfCollectedMSEsAuxClass $
          dmtfProvidesServiceToElementAuxClass $
             dmtfElementConfigurationAuxClass $
          dmtfRedundancyComponentAuxClass $
             dmtfElementSettingAuxClass $ dmtfDependencyAuxClass $
             dmtfDependencyAuxClass $ dmtfComponentAuxClass $
             dmtfComponentAuxClass $ dmtfSystemComponentAuxClass $
             dmtfStatisticsAuxClass $ dmtfActsAsSpareAuxClass)
      )

      ( <oid-oc2> NAME 'dmtfCollectionOfMSEsContentRule'
        DESC 'shows what auxiliary classes may go with the
              dmtfCollectionOfMSEs class'
        AUX (dmtfCollectedMSEsAuxClass $
             dmtfCollectedCollectionsAuxClass $
             dmtfCollectionConfigurationAuxClass $
             dmtfCollectionSettingAuxClass)
      )

      ( <oid-oc5> NAME 'dmtfPhysicalElementContentRule'
        DESC 'shows what auxiliary classes may go with the
              dmtfPhysicalElement class'
        AUX (dmtfRealizesAuxClass $ dmtfProductPhysicalElementsAuxClass $
             dmtfFRUPhysicalElementsAuxClass $
             dmtfDoorAccessToPhysicalElementAuxClass $
             dmtfPhysicalElementLocationAuxClass $
             dmtfElementCapacityAuxClass $
             dmtfParticipatesInSetAuxClass $ dmtfContainerAuxClass $
             dmtfElementsLinkedAuxClass)
      )

      ( <oid-oc6> NAME 'dmtfLogicalElementContentRule'
        DESC 'shows what auxiliary classes may go with the
           dmtfLogicalElement class'
        AUX (dmtfLogicalIdentityAuxClass)
      )

      ( <oid-oc8> NAME 'dmtfConfigurationContentRule'
        DESC 'shows what auxiliary classes may go with the
              dmtfConfiguration class'
        AUX (dmtfConfigurationComponentAuxClass $
             dmtfElementConfigurationAuxClass $
             dmtfCollectionConfigurationAuxClass $
             dmtfSettingContextAuxClass $ dmtfDependencyContextAuxClass)
      )

      ( <oid-oc12> NAME 'dmtfSettingContentRule'
        DESC 'shows what auxiliary classes may go with the dmtfSetting
              class'
        AUX (dmtfElementSettingAuxClass $ dmtfDefaultSettingAuxClass $
             dmtfSettingContextAuxClass $ dmtfCollectionSettingAuxClass)
      )

      ( <oid-oc17> NAME 'dmtfSystemContentRule'
        DESC 'shows what auxiliary classes may go with the dmtfSystem
              class'
        AUX (dmtfSystemComponentAuxClass)
      )
      ( <oid-oc18> NAME 'dmtfComputerSystemContentRule'
        DESC 'shows what auxiliary classes may go with the
              dmtfComputerSystem class'
        AUX (dmtfComputerSystemResourceAuxClass $
             dmtfComponentCSAuxClass $ dmtfComponentCSAuxClass $
             dmtfSystemPartitionAuxClass $ dmtfHostingCSAuxClass $
             dmtfParticipatingCSAuxClass $
             dmtfRunningOSAuxClass $
             dmtfRoutersInBGPClusterAuxClass $ dmtfRoutersInASAuxClass $
             dmtfInBGPPeerGroupAuxClass)
      )

      ( <oid-oc19> NAME 'dmtfLogicalDeviceContentRule'
        DESC 'shows what auxiliary classes may go with the
              dmtfLogicalDevice class'
        AUX (dmtfRealizesAuxClass $ dmtfDeviceConnectionAuxClass $
             dmtfDeviceConnectionAuxClass $ dmtfAllocatedResourceAuxClass $
             dmtfDeviceServiceImplementationAuxClass $
          dmtfDeviceSAPImplementationAuxClass $
          dmtfDeviceSoftwareAuxClass $ dmtfPortOnDeviceAuxClass $
          dmtfAssociatedSensorAuxClass $
          dmtfAssociatedCoolingAuxClass $ dmtfSuppliesPowerAuxClass $
          dmtfAssociatedBatteryAuxClass $ dmtfControlledByAuxClass $
          dmtfAssociatedAlarmAuxClass $
          dmtfDoorAccessToDeviceAuxClass $
          dmtfDeviceIdentityAuxClass)
      )

      ( <oid-oc20> NAME 'dmtfServiceContentRule'
        DESC 'shows what auxiliary classes may go with the dmtfService
              class'
        AUX (dmtfServiceAccessBySAPAuxClass $
          dmtfProvidesServiceToElementAuxClass $
          dmtfServiceServiceDependencyAuxClass $
          dmtfServiceServiceDependencyAuxClass $
          dmtfServiceSAPDependencyAuxClass $
          dmtfServiceComponentAuxClass $
          dmtfServiceComponentAuxClass $
          dmtfDeviceServiceImplementationAuxClass $
          dmtfSoftwareFeatureServiceImplementationAuxClass $
          dmtfServiceComponentAuxClass $ dmtfServiceComponentAuxClass)
      )

      ( <oid-oc21> NAME 'dmtfServiceAccessPointContentRule'
        DESC 'shows what auxiliary classes may go with the
              dmtfServiceAccessPoint class'
        AUX (dmtfServiceAccessBySAPAuxClass $
          dmtfServiceSAPDependencyAuxClass $
          dmtfSAPSAPDependencyAuxClass $
          dmtfSAPSAPDependencyAuxClass $
          dmtfDeviceSAPImplementationAuxClass $
          dmtfSoftwareFeatureSAPImplementationAuxClass $
          dmtfBindsToAuxClass)
      )

      ( <oid-oc33> NAME 'dmtfProductContentRule'
        DESC 'shows what auxiliary classes may go with the dmtfProduct
              class'
        AUX (dmtfProductParentChildAuxClass $
          dmtfProductParentChildAuxClass $
          dmtfCompatibleProductAuxClass $
          dmtfCompatibleProductAuxClass $
          dmtfProductProductDependencyAuxClass $
          dmtfProductProductDependencyAuxClass $
          dmtfProductSupportAuxClass $ dmtfProductFRUAuxClass $
          dmtfProductPhysicalElementsAuxClass $
          dmtfFRUIncludesProductAuxClass)
      )

      ( <oid-oc37> NAME 'dmtfSupportAccessContentRule'
        DESC 'shows what auxiliary classes may go with the
              dmtfSupportAccess class'
        AUX (dmtfProductSupportAuxClass)
      )

      ( <oid-oc39> NAME 'dmtfFRUContentRule'
        DESC 'shows what auxiliary classes may go with the dmtfFRU class'
        AUX (dmtfProductFRUAuxClass $ dmtfFRUPhysicalElementsAuxClass $
          dmtfFRUIncludesProductAuxClass)
      )

      ( <oid-oc44> NAME 'dmtfStatisticalInformationContentRule'
        DESC 'shows what auxiliary classes may go with the
              dmtfStatisticalInformation class'
        AUX (dmtfStatisticsAuxClass $ dmtfRelatedStatisticsAuxClass $
          dmtfRelatedStatisticsAuxClass) cimComponentRef)
      )

4. References

   Request For Comments (RFC) and Internet Draft documents are available
   from numerous mirror sites.

         [1]         M. Wahl, T. Howes, S. Kille, "Lightweight Directory
                     Access Protocol (v3)," RFC 2251, Decemeber December 1997.

         [2]         M. Wahl, A. Coulbeck, T. Howes, S. Kille, "Lightweight "Light-
                     weight Directory Access Protocol (v3): Attribute Synatx Defini-
            tions,"
                     Syntax Definitions," RFC 2252, December 1997.

         [3]         Ryan Moats, Gerald Maziarski, John Strassner,
                     "Extensible Match Rule to Dereference Pointers",
                     Internet Draft (work in progress), June 1999.

         [4]         DMTF,         CIM, "CIM Core Model, v2.2".

[5]         Ryan Moats, Gerald Maziarski, John Strassner, "LDAP Schema
            for the DMTF Application CIM Model", October 1999.

[6]         Ryan Moats, Gerald Maziarski, John Strassner, "LDAP Schema
            for the DMTF Device CIM Model", September 1999.

[7]         Ryan Moats, Gerald Maziarski, John Strassner, "LDAP Schema
            for the DMTF Network CIM Model", October 1999.

[8]         Ryan Moats, Gerald Maziarski, John Strassner, "LDAP Schema
            for the DMTF System CIM Model", October 1999.

[9]         Ryan Moats, Gerald Maziarski, John Strassner, "LDAP Schema
            for

5. Acknowledgement

   This work is a product of the DMTF Physical CIM Model", October 1999.

5. Author's Addresses LDAP Mapping Working Group and has
   benefited from many comments and discussions during this groups meet-
   ings.

6. Editor's Address

   Ryan Moats               Jerry Maziarski           John Strassner
   15621 Drexel Circle      Room C3-3Z01              Cisco Systems, Bldg 1
   Omaha, NE 68135          200 S. Laurel Ave.        170 West Tasman Drive
   USA                      Middletown, NJ 07748      San Jose, CA 95134
   E-mail: jayhawk@att.com  USA                       E-mail:
johns@cisco.com
                            E-mail: gfm@qsun.att.com