Document Number: XMP1009

Date: 2013-08-01

Version: 1.0.3m




Example Sensors Profile




IMPORTANT: This specification is not a standard. It does not necessarily reflect the views of the DMTF or all of its members. Because this document is a Work in Progress, this specification may still change, perhaps profoundly. This document is available for public review and comment until the stated expiration date.

This document expires on: 2014-01-31.

Target version for DMTF Standard: 1.0.3.

Provide any comments through the DMTF Feedback Portal: http://www.dmtf.org/standards/feedback




Document Type: Specification

Document Status: Work in Progress

Document Language: en-US




Copyright © 2006-2013 Distributed Management Task Force, Inc. (DMTF). All rights reserved.

DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and systems management and interoperability. Members and non-members may reproduce DMTF specifications and documents, provided that correct attribution is given. As DMTF specifications may be revised from time to time, the particular version and release date should always be noted.

Implementation of certain elements of this standard or proposed standard may be subject to third party patent rights, including provisional patent rights (herein "patent rights"). DMTF makes no representations to users of the standard as to the existence of such rights, and is not responsible to recognize, disclose, or identify any or all such third party patent right, owners or claimants, nor for any incomplete or inaccurate identification or disclosure of such rights, owners or claimants. DMTF shall have no liability to any party, in any manner or circumstance, under any legal theory whatsoever, for failure to recognize, disclose, or identify any such third party patent rights, or for such party’s reliance on the standard or incorporation thereof in its product, protocols or testing procedures. DMTF shall have no liability to any party implementing such standard, whether such implementation is foreseeable or not, nor to any patent owner or claimant, and shall have no liability or responsibility for costs or losses incurred if a standard is withdrawn or modified after publication, and shall be indemnified and held harmless by any party implementing the standard from any and all claims of infringement by a patent owner for such implementations.

For information about patents held by third-parties which have notified the DMTF that, in their opinion, such patent may relate to or impact implementations of DMTF standards, visit http://www.dmtf.org/about/policies/disclosures.php.

CONTENTS

[Insert table of contents here ...]

Figures

[Insert table of figures here ...]

Tables

[Insert table of tables here ...]

Foreword

This document was prepared by the DMTF Physical Platform Profiles Working Group and Server Management Working Group

DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and systems management and interoperability. For information about the DMTF, see http://www.dmtf.org.

Design Note: This document contains design notes (like this one), that provide information about the way the document is written, or to demonstrate certain things. Such design notes would not appear in a released version of this document.

Design Note: This MRP document represents DSP1009 1.0.2 as a machine readable profile in MRP 1.0 format. The MRP 1.1 build environment does support MRP 1.0 profiles. Since machine readable profiles need to be compliant to DSP1001 1.1, this document utilizes the newly introduced concepts, such as adaptations, features and collaboration diagrams. Its HTML version generated by the DSP8029 XSL stylesheet uses the new condensed format defined in DSP1001 1.1.

Design Note: This profile demonstrates how boilerplate text can be replaced with references to messages defined in an MRP Organization Message Registry. The copyright text demonstrates how to specify dynamic values within the message, for the copyright years.

Acknowledgements

DMTF acknowledges the following individuals for their contributions to this document:

Introduction

This document defines the usage of CIM classes used to represent and manage sensors in a managed environment. The document also defines the usage of CIM association classes that describe the relationship of the sensors with the sensored elements they measure and with DMTF profile implementation information. The information in this document is intended to be sufficient for a provider or consumer of this data to identify unambiguously the classes, properties, methods, and values that need to be instantiated and manipulated.

The target audience for this specification is implementers who are writing CIM-based providers or consumers of management interfaces that represent the components described in this document.

Document conventions

Typographical conventions

The following typographical conventions are used in this document:

  • Document titles are marked in italics.
  • Important terms that are used for the first time are marked in italics.
  • Terms include a link to the term definition in the "Terms and definitions" clause, enabling easy navigation to the term definition.

OCL usage conventions

Constraints in this document are specified using OCL (see OCL 2.0).

OCL statements are in monospaced font.

Example Sensors Profile

Scope

The Sensors profile extends the management capabilities of referencing profiles by adding the capability to represent sensors , their relationship with the sensored elements they measure, and the implementation of this profile.

Normative references

The following referenced documents are indispensable for the application of this document. For dated or versioned references, only the edition cited (including any corrigenda or DMTF update versions) applies. For references without a date or version, the latest published edition of the referenced document (including any corrigenda or DMTF update versions) applies.

DMTF DSP0004, CIM Infrastructure Specification 2.5,
http://www.dmtf.org/standards/published_documents/DSP0004_2.5.pdf

DMTF DSP0223, Generic Operations 1.0,
http://www.dmtf.org/standards/published_documents/DSP0223_1.0.pdf

DMTF DSP1001, Management Profile Specification Usage Guide 1.1,
http://www.dmtf.org/standards/published_documents/DSP1001_1.1.pdf

DMTF XMP1033, Example Profile Registration Profile (sample profile in DSP2023) 1.0,
http://www.dmtf.org/standards/published_documents/DSP2023_1.0.zip

OMG formal/06-05-01, Object Constraint Language 2.0,
http://www.omg.org/spec/OCL/2.0/

ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards,
http://isotc.iso.org/livelink/livelink?func=ll&objId=4230456&objAction=browse&sort=subtype

Terms and definitions

In this document, some terms have a specific meaning beyond the normal English meaning. Those terms are defined in this clause.

General

The terms "shall" ("required"), "shall not", "should" ("recommended"), "should not" ("not recommended"), "may", "need not" ("not required"), "can" and "cannot" in this document are to be interpreted as described in ISO/IEC Directives, Part2, Annex H. The terms in parenthesis are alternatives for the preceding term, for use in exceptional cases when the preceding term cannot be used for linguistic reasons. Note that ISO/IEC Directives, Part2, Annex H specifies additional alternatives. Occurrences of such additional alternatives shall be interpreted in their normal English meaning in this document.

The terms "clause", "subclause", "paragraph", "annex" in this document are to be interpreted as described in ISO/IEC Directives, Part2, Clause 5.

The terms "normative" and "informative" in this document are to be interpreted as described in ISO/IEC Directives, Part2, Clause 3. In this document, clauses, subclauses or annexes indicated with "(informative)" as well as notes and examples do not contain normative content.

The terms defined in DSP0004, DSP0223, and DSP1001 apply to this document.

The following additional terms are defined in this document.

analog sensor

sensor that measures an analog quantity (e.g. voltage) and provides a numeric value for the quantity. Also called a numeric sensor.

discrete sensor

sensor that provides discrete values for the quantity it measures (e.g. a lock is closed or open).

sensor

device that measures a physical quantity and makes a value for the quantity accessible to a programmatic observer.

sensored element

element in the managed environment that is measured by a sensor .

Symbols and abbreviated terms

The abbreviations defined in DSP0004, DSP0223, and DSP1001 apply to this document.

This document does not define any additional abbreviations.

Synopsis

Profile name:  Example Sensors

Version:  1.0.3

Organization:  DMTF

Abstract:  No

Profile type:  Component

Schema:  DMTF CIM 2.22 (experimental)

Central class adaptation:   AbstractSensor

Scoping class adaptation:   ComputerSystem

Scoping path:   SystemDevice

The Sensors profile extends the management capabilities of referencing profiles by adding the capability to represent, monitor and control sensors , and to represent their relationship with sensored elements .

identifies the profile references defined in this profile.

Profile references
Profile reference name Profile name Organi-​zation Version Relation-​ship Description
PRP Profile Registration DMTF 1.0 Mandatory
Used to represent the implementation of this profile.

identifies the features defined in this profile.

Features
Feature Requirement Description
SensorElementNameModification Optional See subclause "Feature: SensorElementNameModification".
SensorStateManagement Optional See subclause "Feature: SensorStateManagement".
LowerThresholdNonCriticalSupported Optional See subclause "Feature: LowerThresholdNonCriticalSupported".
UpperThresholdNonCriticalSupported Optional See subclause "Feature: UpperThresholdNonCriticalSupported".
LowerThresholdCriticalSupported Optional See subclause "Feature: LowerThresholdCriticalSupported".
UpperThresholdCriticalSupported Optional See subclause "Feature: UpperThresholdCriticalSupported".
LowerThresholdFatalSupported Optional See subclause "Feature: LowerThresholdFatalSupported".
UpperThresholdFatalSupported Optional See subclause "Feature: UpperThresholdFatalSupported".
LowerThresholdNonCriticalSettable Optional See subclause "Feature: LowerThresholdNonCriticalSettable".
UpperThresholdNonCriticalSettable Optional See subclause "Feature: UpperThresholdNonCriticalSettable".
LowerThresholdCriticalSettable Optional See subclause "Feature: LowerThresholdCriticalSettable".
UpperThresholdCriticalSettable Optional See subclause "Feature: UpperThresholdCriticalSettable".
LowerThresholdFatalSettable Optional See subclause "Feature: LowerThresholdFatalSettable".
UpperThresholdFatalSettable Optional See subclause "Feature: UpperThresholdFatalSettable".

identifies the class adaptations defined in this profile.

Adaptations
Adaptation Elements Requirement Description
Instantiated, embedded and abstract adaptations
ComputerSystem CIM_ComputerSystem Mandatory See subclause "Adaptation: ComputerSystem".
SystemDevice CIM_SystemDevice Mandatory See subclause "Adaptation: SystemDevice".
AbstractSensor CIM_Sensor See derived adaptations See subclause "Adaptation: AbstractSensor".
DiscreteSensor CIM_Sensor Mandatory See subclause "Adaptation: DiscreteSensor".
NumericSensor CIM_NumericSensor Mandatory See subclause "Adaptation: NumericSensor".
SensorCapabilities CIM_EnabledLogicalElementCapabilities Conditional See subclause "Adaptation: SensorCapabilities".
ElementCapabilities CIM_ElementCapabilities Conditional See subclause "Adaptation: ElementCapabilities".
SensoredElement CIM_ManagedSystemElement See derived adaptations See subclause "Adaptation: SensoredElement".
AssociatedSensor CIM_AssociatedSensor Mandatory See subclause "Adaptation: AssociatedSensor".
Indications and exceptions
This profile does not define any such adaptations.

identifies the use cases and state descriptions defined in this profile.

Use cases and state descriptions
Name Description
State description: SimpleObjectDiagram See subclause "State description: SimpleObjectDiagram".
Use case: ShowAllSensorStates See subclause "Use case: ShowAllSensorStates".
Use case: FindSensorsOfSystemElement See subclause "Use case: FindSensorsOfSystemElement".
Use case: ChangeThreshold See subclause "Use case: ChangeThreshold".
Use case: ResetThresholds See subclause "Use case: ResetThresholds".
Use case: DetermineElementNameModifiability See subclause "Use case: DetermineElementNameModifiability".
Use case: DetermineStateManagementSupport See subclause "Use case: DetermineStateManagementSupport".

Description

The following two DMTF collaboration structure diagrams show all class adaptations defined in this profile, and all profiles referenced by this profile.

DMTF collaboration structure diagram for the Sensors profile

DMTF collaboration structure diagram for the ConcreteSensors component of the Sensors profile

The logical aspect of sensors in the managed environment is represented by instances of the following adaptations that are based on the abstract base adaptation AbstractSensor :

The system hosting a sensor is represented by a ComputerSystem instance associated via SystemDevice to the AbstractSensor instance representing the sensor .

The sensored elements of a sensor are represented by SensoredElement instances associated via AssociatedSensor to the AbstractSensor instance representing the sensor . If no such instance is associated to a AbstractSensor instance, the corresponding sensor's scope is the entire system that hosts the sensor.

The capabilities of a sensor and of the implementation of its AbstractSensor adaptation are represented by a SensorCapabilities instance associated via ElementCapabilities to the AbstractSensor instance representing the sensor . SensorCapabilities instances can be shared between multiple AbstractSensor instances.

Conformance of an implementation to this profile is represented through the PRP profile.

Implementation

Features

Feature: SensorElementNameModification

Implementing this feature provides support for client modification of the ElementName property of a AbstractSensor instance.

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of AbstractSensor instances.

It can be concluded that the feature is available for a AbstractSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: SensorStateManagement

Implementing this feature provides support for client management of the state of a sensor by means of the RequestStateChange( ) method.

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of AbstractSensor instances.

It can be concluded that the feature is available for a AbstractSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: LowerThresholdNonCriticalSupported

Implementing this feature provides support for the LowerThresholdNonCritical threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: UpperThresholdNonCriticalSupported

Implementing this feature provides support for the UpperThresholdNonCritical threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: LowerThresholdCriticalSupported

Implementing this feature provides support for the LowerThresholdCritical threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: UpperThresholdCriticalSupported

Implementing this feature provides support for the UpperThresholdCritical threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: LowerThresholdFatalSupported

Implementing this feature provides support for the LowerThresholdFatal threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: UpperThresholdFatalSupported

Implementing this feature provides support for the UpperThresholdFatal threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: LowerThresholdNonCriticalSettable

Implementing this feature provides support for setting the LowerThresholdNonCritical threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: UpperThresholdNonCriticalSettable

Implementing this feature provides support for setting the UpperThresholdNonCritical threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: LowerThresholdCriticalSettable

Implementing this feature provides support for setting the LowerThresholdCritical threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: UpperThresholdCriticalSettable

Implementing this feature provides support for setting the UpperThresholdCritical threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: LowerThresholdFatalSettable

Implementing this feature provides support for setting the LowerThresholdFatal threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Feature: UpperThresholdFatalSettable

Implementing this feature provides support for setting the UpperThresholdFatal threshold of an analog sensor .

The requirement level for this feature is optional.

This feature can be made available to clients at the granularity of NumericSensor instances.

It can be concluded that the feature is available for a NumericSensor instance if:

Otherwise, it can be concluded that the feature is not available.

Adaptations

Conventions

This profile defines operation requirements based on DSP0223.

For adaptations of ordinary classes and of associations, the requirements for operations are defined in adaptation-specific subclauses of subclause Adaptations.

For association traversal operation requirements that are specified only in the elements table of an adaptation (i.e., without operation-specific subclauses), the names of the association adaptations to be traversed are listed in the elements table.

The default initialization requirement level for property requirements is optional.

The default modification requirement level for property requirements is optional.

This profile repeats the effective values of certain Boolean qualifiers as part of property, method parameter, or method return value requirements. The following convention is established: If the name of a qualifier is listed, its effective value is True; if the qualifier name is not listed, its effective value is False. The convention is applied in the following cases:

Adaptation: ComputerSystem: CIM_ComputerSystem

This adaptation models systems hosting sensors .

The implementation type of this adaptation is instantiated ordinary adaptation.

The requirement level for this adaptation is mandatory.

identifies the element requirements for this adaptation.

ComputerSystem: Element requirements
Element Requirement Description
Operations
Associators( ) for SystemDevice Mandatory See DSP0223.
AssociatorNames( ) for SystemDevice Mandatory See DSP0223.
References( ) for SystemDevice Mandatory See DSP0223.
ReferenceNames( ) for SystemDevice Mandatory See DSP0223.

Adaptation: SystemDevice: CIM_SystemDevice

General

This adaptation models the relationship between sensors that are represented by AbstractSensor instances and the systems hosting these sensors that are represented by ComputerSystem instances.

The implementation type of this adaptation is instantiated association adaptation.

The requirement level for this adaptation is mandatory.

identifies the element requirements for this adaptation.

SystemDevice: Element requirements
Element Requirement Description
Properties
GroupComponent Mandatory Key, see subclause "Property: GroupComponent".
PartComponent Mandatory Key, see subclause "Property: PartComponent".
Operations
GetInstance( ) Mandatory See DSP0223.

Property: GroupComponent

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraints for this reference property:

Property: PartComponent

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraints for this reference property:

Adaptation: AbstractSensor: CIM_Sensor

General

This abstract adaptation provides a basis for derived adaptations in this or other profiles, that model specific types of sensors .

This profile defines the DiscreteSensor and NumericSensor adaptations to be based on this adaptation.

Design Note: This adaptation demonstrates several ways to define the associations traversed by association traversal operations. Note the different ways mrp:Association child elements are specified vs. defaulted. Note that if no associations are specified in the MRP profile, they are defaulted and appear explicitly in the HTML output. Note that a certain number of traversed associations triggers the generation of subclauses for the operations.

The implementation type of this adaptation is abstract ordinary adaptation.

The requirement level for this abstract adaptation is left to be defined in its derived adaptations.

The implementation shall satisfy the following constraint for this adaptation:

OCL constraint with context of a AbstractSensor instance:

inv: ( self.mrpIsFeatureAvailable('SensorElementNameModification') or
    self.mrpIsFeatureAvailable('SensorStateManagement') )
implies
    self.ElementCapabilities::Capabilities->size() = 1

identifies the element requirements for this adaptation.

AbstractSensor: Element requirements
Element Requirement Description
Properties
SystemCreationClassName Mandatory Key, see schema definition.
SystemName Mandatory Key, see schema definition.
CreationClassName Mandatory Key, see schema definition.
DeviceID Mandatory Key, see schema definition.
ElementName Mandatory See subclause "Property: ElementName".
SensorType Mandatory See schema definition.
OtherSensorTypeDescription Mandatory Null OK, see subclause "Property: OtherSensorTypeDescription".
EnabledState Mandatory See subclause "Property: EnabledState".
RequestedState Mandatory See subclause "Property: RequestedState".
OperationalStatus Mandatory See schema definition.
HealthState Mandatory See schema definition.
Methods
RequestStateChange( ) Conditional See subclause "Method: RequestStateChange( )".
Operations
GetInstance( ) Mandatory See DSP0223.
EnumerateInstances( ) Mandatory See DSP0223.
EnumerateInstanceNames( ) Mandatory See DSP0223.
ModifyInstance( ) Conditional See subclause "Operation: ModifyInstance( )".
Associators( ) for AssociatedSensor and others Mandatory See subclause "Operation: Associators( ) for AssociatedSensor".
AssociatorNames( ) for AssociatedSensor and others Mandatory See subclause "Operation: AssociatorNames( ) for AssociatedSensor".
References( ) for AssociatedSensor and SystemDevice Mandatory See DSP0223.
References( ) for ElementCapabilities Optional See DSP0223.
ReferenceNames( ) for AssociatedSensor and SystemDevice Mandatory See DSP0223.
ReferenceNames( ) for ElementCapabilities Optional See DSP0223.

Property: ElementName

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraint for this property:

OCL constraint with context of a AbstractSensor instance:

inv: self.ElementName.size() <= self.ElementCapabilities::Capabilities.MaxElementNameLen

The modification requirement level for this property is conditional exclusive, with the following condition:

The SensorElementNameModification feature is implemented.

In order to enforce the length restriction specified in the MaxElementNameLen property of the associated SensorCapabilities instance, the implementation may reject or truncate property values that exceed that length.

Property: OtherSensorTypeDescription

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraint for this property:

OCL constraint with context of a AbstractSensor instance:

inv: if self.SensorType = 1 /* Other */
then (
    self.OtherSensorTypeDescription.isNotNull()
) else (
    self.OtherSensorTypeDescription.isNull()
)

Property: EnabledState

The presentation requirement level for this property is mandatory.

describes the mapping between values of this property and the corresponding sensor states.

Mapping between EnabledState values and sensor states
Value Value description Sensor state
2 Enabled The sensor shall be operational.
3 Disabled The sensor shall be disabled.
5 Not Applicable The sensor's state is indeterminate, or sensor state management is not supported.

The value of this property may change as a result of the execution of the RequestStateChange( ) method or a change to the sensor's state by a non-CIM implementation.

Property: RequestedState

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraints for this property:

Method: RequestStateChange( )

The requirement level for this method is conditional, with the following condition:

The SensorStateManagement feature is implemented.

Successful execution of this method on an instance of this adaptation shall change the instance's state to the value specified in the RequestedState parameter.

Invoking this method multiple times may result in earlier requests being overwritten or lost.

The implementation shall satisfy the following constraints for this method:

identifies the parameter and return value requirements of the method.

RequestStateChange( ): Parameter requirements
Parameter Description
RequestedState In, see subclause "Parameter: RequestedState".
Job Out, see subclause "Parameter: Job".
TimeoutPeriod In, see subclause "Parameter: TimeoutPeriod".
ReturnValue See subclause "Return value".
Parameter: RequestedState

identifies input value requirements for this parameter:

RequestedState: Input value requirements
Input value Requirement Description
2 Mandatory
2 = Enabled; the sensor shall become operational.
3 Mandatory
3 = Disabled; the sensor shall become disabled.
Parameter: Job

If the request is being executed asynchronously, the value of this parameter shall reference a ConcreteJobProfile Error: A class adaptation "ConcreteJob" is referenced in a class adaptation link but is not defined or is defined more than once in this profile. instance representing the asynchronously executing request. Otherwise, the value of this parameter shall be NULL.

The implementation shall satisfy the following constraint for this reference parameter:

Referenced instances shall be of class adaptation ConcreteJobProfile Error: A class adaptation "ConcreteJob" is referenced in a class adaptation link but is not defined or is defined more than once in this profile..

Parameter: TimeoutPeriod

Client-specified maximum amount of time the transition to a new state is supposed to take:

If the maximum time expires, the method implementation may abort the execution. If it aborts, it shall return 2 (Error).

Return value

This method shall return one of the following return values:

RequestStateChange: Return values
Value Description
0 The state change was successfully performed.
1 The method is not implemented.
2 An error has occurred.
4096 The request to change the state is being executed asynchronously, and the Job parameter references a ConcreteJobProfile Error: A class adaptation "ConcreteJob" is referenced in a class adaptation link but is not defined or is defined more than once in this profile. instance representing the request.

Operation: ModifyInstance( )

For general requirements on the implementation of this operation, see DSP0223.

The requirement level for this operation is conditional, with the following condition:

The SensorElementNameModification feature is implemented.

Operation: Associators( ) for AssociatedSensor and others

For general requirements on the implementation of this operation, see DSP0223.

The requirement level for this operation is mandatory.

This operation requirement applies when traversing the following association adaptations:

Operation: AssociatorNames( ) for AssociatedSensor and others

For general requirements on the implementation of this operation, see DSP0223.

The requirement level for this operation is mandatory.

This operation requirement applies when traversing the following association adaptations:

Adaptation: DiscreteSensor: CIM_Sensor

General

This adaptation models discrete sensors .

The implementation type of this adaptation is instantiated ordinary adaptation.

The requirement level for this adaptation is mandatory.

identifies the element requirements for this adaptation.

DiscreteSensor: Element requirements
Element Requirement Description
Base adaptations
AbstractSensor Optional See AbstractSensor.
Properties
CurrentState Mandatory See subclause "Property: CurrentState".
PossibleStates Mandatory See subclause "Property: PossibleStates".

Property: CurrentState

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraint for this property:

OCL constraint with context of a DiscreteSensor instance:

inv: self.PossibleStates->contains(self.CurrentState)

Property: PossibleStates

The presentation requirement level for this property is mandatory.

The set of array entry values of this array property shall represent the set of allowable values for the CurrentState property. The mapping between these values and the actual condition of the discrete sensor is implementation specific.

The implementation shall satisfy the following constraint for this property:

OCL constraint with context of a DiscreteSensor instance:

inv:
self.SensorType = 2 /* Temperature */ implies
    self.PossibleStates->forAll( s |
        Set { "Bad", "Good", "Unknown" }->contains(s)) and
self.SensorType = 3 /* Voltage */ implies
    self.PossibleStates->forAll( s |
        Set {"Bad", "Good", "Unknown" }->contains(s)) and
self.SensorType = 4 /* Current */ implies
    self.PossibleStates->forAll( s |
        Set {"Bad", "Good", "Unknown" }->contains(s)) and
self.SensorType = 5 /* Tachometer */ implies
    self.PossibleStates->forAll( s |
        Set {"Bad", "Good", "Unknown" }->contains(s)) and
self.SensorType = 7 /* Switch */ implies
    self.PossibleStates->forAll( s |
        Set {"Closed", "Open", "Unknown" }->contains(s)) and
self.SensorType = 8 /* Lock */ implies
    self.PossibleStates->forAll( s |
        Set {"Locked", "Unlocked", "Unknown" }->contains(s)) and
self.SensorType = 9 /* Humidity */ implies
    self.PossibleStates->forAll( s |
        Set {"Humid", "Normal", "Unknown" }->contains(s)) and
self.SensorType = 10 /* Smoke Detection */ implies
    self.PossibleStates->forAll( s |
        Set {"Smokey", "Normal", "Unknown" }->contains(s)) and
self.SensorType = 11 /* Presence */ implies
    self.PossibleStates->forAll( s |
        Set {"Not Present", "Present", "Unknown" }->contains(s)) and
self.SensorType = 12 /* Air Flow */ implies
    self.PossibleStates->forAll( s |
        Set {"Bad", "Good", "Unknown" }->contains(s)) and
self.SensorType = 13 /* Power Consumption */ implies
    self.PossibleStates->forAll( s |
        Set {"Bad", "Good", "Unknown" }->contains(s)) and
self.SensorType = 14 /* Power Production */ implies
    self.PossibleStates->forAll( s |
        Set {"Bad", "Good", "Unknown" }->contains(s)) and
self.SensorType = 15 /* Pressure */ implies
    self.PossibleStates->forAll( s |
        Set {"Bad", "Good", "Unknown" }->contains(s))

Adaptation: NumericSensor: CIM_NumericSensor

General

This adaptation models analog sensors .

The implementation type of this adaptation is instantiated ordinary adaptation.

The requirement level for this adaptation is mandatory.

identifies the element requirements for this adaptation.

NumericSensor: Element requirements
Element Requirement Description
Base adaptations
AbstractSensor Optional See AbstractSensor.
Properties
BaseUnits Mandatory See schema definition.
UnitModifier Mandatory See schema definition.
RateUnits Mandatory See schema definition.
CurrentReading Mandatory See schema definition.
LowerThresholdNonCritical Conditional See subclause "Property: LowerThresholdNonCritical".
UpperThresholdNonCritical Conditional See subclause "Property: UpperThresholdNonCritical".
LowerThresholdCritical Conditional See subclause "Property: LowerThresholdCritical".
UpperThresholdCritical Conditional See subclause "Property: UpperThresholdCritical".
LowerThresholdFatal Conditional See subclause "Property: LowerThresholdFatal".
UpperThresholdFatal Conditional See subclause "Property: UpperThresholdFatal".
SupportedThresholds Mandatory See subclause "Property: SupportedThresholds".
SettableThresholds Mandatory See subclause "Property: SettableThresholds".
CurrentState Mandatory See subclause "Property: CurrentState".
PossibleStates Mandatory See subclause "Property: PossibleStates".
Methods
RestoreDefaultThresholds( ) Conditional See subclause "Method: RestoreDefaultThresholds( )".
Operations
ModifyInstance( ) Conditional See subclause "Operation: ModifyInstance( )".

Property: LowerThresholdNonCritical

The presentation requirement level for this property is conditional, with the following condition:

The LowerThresholdNonCriticalSupported feature is implemented.

The modification requirement level for this property is conditional, with the following condition:

The LowerThresholdNonCriticalSettable feature is implemented.

Property: UpperThresholdNonCritical

The presentation requirement level for this property is conditional, with the following condition:

The UpperThresholdNonCriticalSupported feature is implemented.

The modification requirement level for this property is conditional, with the following condition:

The UpperThresholdNonCriticalSettable feature is implemented.

Property: LowerThresholdCritical

The presentation requirement level for this property is conditional, with the following condition:

The LowerThresholdCriticalSupported feature is implemented.

The modification requirement level for this property is conditional, with the following condition:

The LowerThresholdCriticalSettable feature is implemented.

Property: UpperThresholdCritical

The presentation requirement level for this property is conditional, with the following condition:

The UpperThresholdCriticalSupported feature is implemented.

The modification requirement level for this property is conditional, with the following condition:

The UpperThresholdCriticalSettable feature is implemented.

Property: LowerThresholdFatal

The presentation requirement level for this property is conditional, with the following condition:

The LowerThresholdFatalSupported feature is implemented.

The modification requirement level for this property is conditional, with the following condition:

The LowerThresholdFatalSettable feature is implemented.

Property: UpperThresholdFatal

The presentation requirement level for this property is conditional, with the following condition:

The UpperThresholdFatalSupported feature is implemented.

The modification requirement level for this property is conditional, with the following condition:

The UpperThresholdFatalSettable feature is implemented.

Property: SupportedThresholds

The presentation requirement level for this property is mandatory.

The set of array entry values shall represent the set of thresholds that are implemented. If no thresholds are implemented, the array shall be empty.

Property: SettableThresholds

The presentation requirement level for this property is mandatory.

The set of array entry values shall represent the set of implemented thresholds that are modifiable.

If no thresholds are modifiable, the array shall be empty. The set of array entry values shall be a subset of the set of array entry values in the SupportedThresholds property.

Property: CurrentState

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraint for this property:

OCL constraint with context of a NumericSensor instance:

inv: self.PossibleStates->contains(self.CurrentState)

Property: PossibleStates

The presentation requirement level for this property is mandatory.

The set of array entry values of this array property shall represent the set of allowable values for the CurrentState property. The mapping between these values and the actual condition of the analog sensor is implementation specific.

The implementation shall satisfy the following constraint for this property:

OCL constraint with context of a NumericSensor instance:

define commonSet : Set =
    Set { "Non-Critical", "Lower Non-Critical", "Upper Non-Critical", "Critical",
        "Lower Critical", "Upper Critical", "Fatal", "Lower Fatal", "Upper Fatal",
        "Normal", "Unknown" }
inv:
self.SensorType = 3 /* Voltage */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s)) and
self.SensorType = 4 /* Current */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s)) and
self.SensorType = 5 /* Tachometer */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s)) and
self.SensorType = 9 /* Humidity */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s)) and
self.SensorType = 10 /* Smoke Detection */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s)) and
self.SensorType = 11 /* Presence */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s)) and
self.SensorType = 12 /* Air Flow */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s)) and
self.SensorType = 13 /* Power Consumption */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s)) and
self.SensorType = 14 /* Power Production */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s)) and
self.SensorType = 15 /* Pressure */ implies
    self.PossibleStates->forAll( s | commonSet->contains(s))

Method: RestoreDefaultThresholds( )

The requirement level for this method is conditional, with the following condition:

At least one of the following is true:

Successful execution of this method shall reset the values of the thresholds of the sensor represented by an instance of this adaptation to its default values.

identifies the parameter and return value requirements of the method.

RestoreDefaultThresholds( ): Parameter requirements
Parameter Description
ReturnValue See subclause "Return value".
Return value

This method shall return one of the following return values:

RestoreDefaultThresholds: Return values
Value Description
0 The method has executed successfully.
1 The method is not implemented.
2 An error has occurred.

Operation: ModifyInstance( )

For general requirements on the implementation of this operation, see DSP0223.

The requirement level for this operation is conditional, with the following condition:

At least one of the following is true:

Adaptation: SensorCapabilities: CIM_EnabledLogicalElementCapabilities

General

This adaptation models the capabilities of a sensor represented by the associated AbstractSensor instance, and of the implementation of that adaptation.

The implementation type of this adaptation is instantiated ordinary adaptation.

The requirement level for this adaptation is conditional, with the following condition:

At least one of the following is true:

identifies the element requirements for this adaptation.

SensorCapabilities: Element requirements
Element Requirement Description
Properties
InstanceID Mandatory Key, see schema definition.
RequestedStatesSupported Mandatory See subclause "Property: RequestedStatesSupported".
ElementNameEditSupported Mandatory See subclause "Property: ElementNameEditSupported".
MaxElementNameLen Conditional See subclause "Property: MaxElementNameLen".
Operations
GetInstance( ) Mandatory See DSP0223.
EnumerateInstances( ) Mandatory See DSP0223.
EnumerateInstanceNames( ) Mandatory See DSP0223.
Associators( ) for ElementCapabilities Mandatory See DSP0223.
AssociatorNames( ) for ElementCapabilities Mandatory See DSP0223.
References( ) for ElementCapabilities Optional See DSP0223.
ReferenceNames( ) for ElementCapabilities Optional See DSP0223.

Property: RequestedStatesSupported

The presentation requirement level for this property is mandatory.

The set of array entry values of this property shall represent the set of supported requested states for the associated AbstractSensor instance.

The implementation shall satisfy the following constraint for this property:

OCL constraint with context of a SensorCapabilities instance:

inv: if self.ElementCapabilities::ManagedElement.
    mrpIsFeatureAvailable('SensorStateManagement')
then (
    self.RequestedStatesSupported->forAll( entry |
        Set { 2 /* Enabled */, 3 /* Disabled */, 11 /* Reset */ }->
        contains(entry))
) else (
    self.RequestedStatesSupported->size() = 0
)

Property: ElementNameEditSupported

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraint for this property:

OCL constraint with context of a SensorCapabilities instance:

inv: self.ElementCapabilities::ManagedElement.
    mrpIsFeatureAvailable('SensorElementNameModification') =
    self.ElementNameEditSupported

Property: MaxElementNameLen

The presentation requirement level for this property is conditional, with the following condition:

The SensorElementNameModification feature is implemented.

Adaptation: ElementCapabilities: CIM_ElementCapabilities

General

This adaptation models the relationship between sensors that are represented by AbstractSensor instances and the capabilities of these sensors or their adaptation implementation that are represented by SensorCapabilities instances.

The implementation type of this adaptation is instantiated association adaptation.

The requirement level for this adaptation is conditional, with the following condition:

At least one of the following is true:

identifies the element requirements for this adaptation.

ElementCapabilities: Element requirements
Element Requirement Description
Properties
ManagedElement Mandatory Key, see subclause "Property: ManagedElement".
Capabilities Mandatory Key, see subclause "Property: Capabilities".
Operations
GetInstance( ) Mandatory See DSP0223.

Property: ManagedElement

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraints for this reference property:

Property: Capabilities

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraints for this reference property:

Adaptation: SensoredElement: CIM_ManagedSystemElement

This adaptation models sensored elements that are measured by sensors represented by associated AbstractSensor instances. AbstractSensor instances representing sensors that sensor the entire computer system hosting them (rather than elements within that computer system) shall not be associated that way.

The implementation type of this adaptation is abstract ordinary adaptation.

The requirement level for this abstract adaptation is left to be defined in its derived adaptations.

identifies the element requirements for this adaptation.

SensoredElement: Element requirements
Element Requirement Description
Operations
Associators( ) for AssociatedSensor Mandatory See DSP0223.
AssociatorNames( ) for AssociatedSensor Mandatory See DSP0223.
References( ) for AssociatedSensor Mandatory See DSP0223.
ReferenceNames( ) for AssociatedSensor Mandatory See DSP0223.

Adaptation: AssociatedSensor: CIM_AssociatedSensor

General

This adaptation models the relationship between sensors that are represented by AbstractSensor instances and the sensored elements measured by these sensors that are represented by SensoredElement instances.

The implementation type of this adaptation is instantiated association adaptation.

The requirement level for this adaptation is mandatory.

identifies the element requirements for this adaptation.

AssociatedSensor: Element requirements
Element Requirement Description
Properties
Antecedent Mandatory Key, see subclause "Property: Antecedent".
Dependent Mandatory Key, see subclause "Property: Dependent".
Operations
GetInstance( ) Mandatory See DSP0223.

Property: Antecedent

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraints for this reference property:

Property: Dependent

The presentation requirement level for this property is mandatory.

The implementation shall satisfy the following constraints for this reference property:

Use cases and state descriptions

State description: SimpleObjectDiagram

The following figure shows a simple object diagram that represents a scenario that conforms to the requirements of this profile. In that scenario, there is one sensored element that is a fan, represented by an instance of CIM_Fan in the role of the SensoredElement adaptation. That fan has two sensors, a discrete sensor represented by the DiscreteSensor instance presencesensor1, and an analog sensor represented by the NumericSensor instance ntachsensor1. Both instances are associated with the SensoredElement instance through AssociatedSensor instances.

Based on the value 11 (Presence) of the SensorType property of the DiscreteSensor instance presencesensor1, the sensor represented by that instance is a presence sensor for the fan. In this implementation, only the values “Present” and “Not Present” are supported for the PossibleStates property.

Based on the value 5 (Tachometer) of the SensorType property of the NumericSensor instance ntachsensor1, the sensor represented by that instance is a speed sensor for the fan that provides numeric reading of the fan speed. Based on the value of the BaseUnits property (value 19 = RPM), and the RateUnits property showing no additional units, the fan speed is represented in RPM units. The CurrentReading property in this scenario has a value of 35, which is multiplied by the unit modifier represented by the UnitModifier property (value 2, so the actual multiplier is 10^2), to calculate the fan speed of 3500 RPM.

Simple object diagram

Use case: ShowAllSensorStates

This use case describes the flow to obtain the current state of all sensored elements in a computer system, possibly including the computer system itself.

This use case has the following preconditions:

The main flow for this use case consists of the following steps:

Use case: FindSensorsOfSystemElement

This use case describes the flow to find the sensors for a given sensored element in a computer system.

This use case has the following preconditions:

The main flow for this use case consists of the following step:

Use case: ChangeThreshold

This use case describes the flow to change the upper non-critical threshold of a given analog sensor .

This use case has the following preconditions:

The main flow for this use case consists of the following steps:

Use case: ResetThresholds

This use case describes the flow to reset the thresholds of a given analog sensor .

This use case has the following preconditions:

The main flow for this use case consists of the following step:

Use case: DetermineElementNameModifiability

This use case describes the flow to determine whether the ElementName property of a given sensor can be modified.

This use case has the following preconditions:

The main flow for this use case consists of the following steps:

Use case: DetermineStateManagementSupport

This use case describes the flow to determine whether state management (i.e. the SensorStateManagement feature) is supported for a given sensor .

This use case has the following preconditions:

The main flow for this use case consists of the following steps:


(informative)

Change log

Change log
Version Date Description
1.0.0c 2006-05-16 DSP1009: Released as Preliminary Standard
1.0.0 2007-11-06 DSP1009: Released as Final Standard
1.0.1 2008-09-25 DSP1009: Released as DMTF Standard
1.0.2 2009-10-28 DSP1009: Released as DMTF Standard, with the following changes:
  • Changed the values for the EnabledState property
1.0.3m 2013-08-01 XMP1009: Included as a sample profile into DSP2023

Bibliography

The following documents may provide additional background.

DMTF DSP1000, Management Profile Specification Template 1.1,
http://www.dmtf.org/standards/published_documents/DSP1000_1.1.pdf