.

Document Number: XMP1009

Date: 2011-08-31

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: 2012-02-28.

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-2011 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. 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:

OCL usage conventions

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

OCL statements are in monospaced font.

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 indicator:  False

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.

The following table identifies the profile references defined in this profile.

Profile references
Profile reference nameProfile nameOrgani​zationVersionRelation​shipDescription
PRP Profile RegistrationDMTF1.0Mandatory
Used to represent the implementation of this profile.

The following table identifies the features defined in this profile.

Features
FeatureRequire​mentDescription
SensorElementNameModificationOptionalSee subclause "Feature: SensorElementNameModification".
SensorStateManagementOptionalSee subclause "Feature: SensorStateManagement".
LowerThresholdNonCriticalSupportedOptionalSee subclause "Feature: LowerThresholdNonCriticalSupported".
UpperThresholdNonCriticalSupportedOptionalSee subclause "Feature: UpperThresholdNonCriticalSupported".
LowerThresholdCriticalSupportedOptionalSee subclause "Feature: LowerThresholdCriticalSupported".
UpperThresholdCriticalSupportedOptionalSee subclause "Feature: UpperThresholdCriticalSupported".
LowerThresholdFatalSupportedOptionalSee subclause "Feature: LowerThresholdFatalSupported".
UpperThresholdFatalSupportedOptionalSee subclause "Feature: UpperThresholdFatalSupported".
LowerThresholdNonCriticalSettableOptionalSee subclause "Feature: LowerThresholdNonCriticalSettable".
UpperThresholdNonCriticalSettableOptionalSee subclause "Feature: UpperThresholdNonCriticalSettable".
LowerThresholdCriticalSettableOptionalSee subclause "Feature: LowerThresholdCriticalSettable".
UpperThresholdCriticalSettableOptionalSee subclause "Feature: UpperThresholdCriticalSettable".
LowerThresholdFatalSettableOptionalSee subclause "Feature: LowerThresholdFatalSettable".
UpperThresholdFatalSettableOptionalSee subclause "Feature: UpperThresholdFatalSettable".

The following table identifies the class adaptations defined in this profile.

Adaptations
AdaptationElementsRequire​mentDescription
Instantiated, embedded and abstract adaptations
ComputerSystemCIM_ComputerSystemMandatorySee subclause "Adaptation: ComputerSystem".
SystemDeviceCIM_SystemDeviceMandatorySee subclause "Adaptation: SystemDevice".
AbstractSensorCIM_SensorSee derived adaptationsSee subclause "Adaptation: AbstractSensor".
DiscreteSensorCIM_SensorMandatorySee subclause "Adaptation: DiscreteSensor".
NumericSensorCIM_NumericSensorMandatorySee subclause "Adaptation: NumericSensor".
SensorCapabilitiesCIM_EnabledLogicalElementCapabilitiesConditionalSee subclause "Adaptation: SensorCapabilities".
ElementCapabilitiesCIM_ElementCapabilitiesConditionalSee subclause "Adaptation: ElementCapabilities".
SensoredElementCIM_ManagedSystemElementSee derived adaptationsSee subclause "Adaptation: SensoredElement".
AssociatedSensorCIM_AssociatedSensorMandatorySee subclause "Adaptation: AssociatedSensor".
Indications and exceptions
This profile does not define any such adaptations.

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

Use cases and state descriptions
NameDescription
State description SimpleObjectDiagramSee subclause "State description: SimpleObjectDiagram".
Use case ShowAllSensorStatesSee subclause "Use case: ShowAllSensorStates".
Use case FindSensorsOfSystemElementSee subclause "Use case: FindSensorsOfSystemElement".
Use case ChangeThresholdSee subclause "Use case: ChangeThreshold".
Use case ResetThresholdsSee subclause "Use case: ResetThresholds".
Use case DetermineElementNameModifiabilitySee subclause "Use case: DetermineElementNameModifiability".
Use case DetermineStateManagementSupportSee 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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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.

The following profile elements are conditional or conditional exclusive on the implementation of this feature:

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 the "Adaptations" clause.

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.

The following table identifies the element requirements for this adaptation.

ComputerSystem: Element requirements
ElementRequire​mentDescription
Operations
Associators( ) for SystemDeviceMandatorySee DSP0223.
AssociatorNames( ) for SystemDeviceMandatorySee DSP0223.
References( ) for SystemDeviceMandatorySee DSP0223.
ReferenceNames( ) for SystemDeviceMandatorySee 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.

The following table identifies the element requirements for this adaptation.

SystemDevice: Element requirements
ElementRequire​mentDescription
Properties
GroupComponentMandatoryKey, see subclause "Property: GroupComponent".
PartComponentMandatoryKey, see subclause "Property: PartComponent".
Operations
GetInstance( )MandatorySee 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

The following table identifies the element requirements for this adaptation.

AbstractSensor: Element requirements
ElementRequire​mentDescription
Properties
SystemCreationClassNameMandatoryKey, see schema definition.
SystemNameMandatoryKey, see schema definition.
CreationClassNameMandatoryKey, see schema definition.
DeviceIDMandatoryKey, see schema definition.
ElementNameMandatorySee subclause "Property: ElementName".
SensorTypeMandatorySee schema definition.
OtherSensorTypeDescriptionMandatoryNull OK, see subclause "Property: OtherSensorTypeDescription".
EnabledStateMandatorySee subclause "Property: EnabledState".
RequestedStateMandatorySee subclause "Property: RequestedState".
OperationalStatusMandatorySee schema definition.
HealthStateMandatorySee schema definition.
Methods
RequestStateChange( )ConditionalSee subclause "Method: RequestStateChange( )".
Operations
GetInstance( )MandatorySee DSP0223.
EnumerateInstances( )MandatorySee DSP0223.
EnumerateInstanceNames( )MandatorySee DSP0223.
ModifyInstance( )ConditionalSee subclause "Operation: ModifyInstance( )".
Associators( ) for AssociatedSensor and othersMandatorySee subclause "Operation: Associators( ) for AssociatedSensor".
AssociatorNames( ) for AssociatedSensor and othersMandatorySee subclause "Operation: AssociatorNames( ) for AssociatedSensor".
References( ) for AssociatedSensor and SystemDeviceMandatorySee DSP0223.
References( ) for ElementCapabilitiesOptionalSee DSP0223.
ReferenceNames( ) for AssociatedSensor and SystemDeviceMandatorySee DSP0223.
ReferenceNames( ) for ElementCapabilitiesOptionalSee 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.

The following table 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:

The following table identifies the parameter and return value requirements of the method.

RequestStateChange( ): Parameter requirements
ParameterDescription
RequestedStateIn, see subclause "Parameter: RequestedState".
JobOut, see subclause "Parameter: Job".
TimeoutPeriodIn, see subclause "Parameter: TimeoutPeriod".
ReturnValueSee subclause "Return value".
Parameter: RequestedState

The following table identifies input value requirements for this parameter:

RequestedState: Input value requirements
Input valueRequire​mentDescription
2Mandatory
2 = Enabled; the sensor shall become operational.
3Mandatory
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.

The following table identifies the element requirements for this adaptation.

DiscreteSensor: Element requirements
ElementRequire​mentDescription
Base adaptations
AbstractSensorOptionalSee AbstractSensor.
Properties
CurrentStateMandatorySee subclause "Property: CurrentState".
PossibleStatesMandatorySee 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.

The following table identifies the element requirements for this adaptation.

NumericSensor: Element requirements
ElementRequire​mentDescription
Base adaptations
AbstractSensorOptionalSee AbstractSensor.
Properties
BaseUnitsMandatorySee schema definition.
UnitModifierMandatorySee schema definition.
RateUnitsMandatorySee schema definition.
CurrentReadingMandatorySee schema definition.
LowerThresholdNonCriticalConditionalSee subclause "Property: LowerThresholdNonCritical".
UpperThresholdNonCriticalConditionalSee subclause "Property: UpperThresholdNonCritical".
LowerThresholdCriticalConditionalSee subclause "Property: LowerThresholdCritical".
UpperThresholdCriticalConditionalSee subclause "Property: UpperThresholdCritical".
LowerThresholdFatalConditionalSee subclause "Property: LowerThresholdFatal".
UpperThresholdFatalConditionalSee subclause "Property: UpperThresholdFatal".
SupportedThresholdsMandatorySee subclause "Property: SupportedThresholds".
SettableThresholdsMandatorySee subclause "Property: SettableThresholds".
CurrentStateMandatorySee subclause "Property: CurrentState".
PossibleStatesMandatorySee subclause "Property: PossibleStates".
Methods
RestoreDefaultThresholds( )ConditionalSee subclause "Method: RestoreDefaultThresholds( )".
Operations
ModifyInstance( )ConditionalSee 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.

The following table identifies the parameter and return value requirements of the method.

RestoreDefaultThresholds( ): Parameter requirements
ParameterDescription
ReturnValueSee 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:

The following table identifies the element requirements for this adaptation.

SensorCapabilities: Element requirements
ElementRequire​mentDescription
Properties
InstanceIDMandatoryKey, see schema definition.
RequestedStatesSupportedMandatorySee subclause "Property: RequestedStatesSupported".
ElementNameEditSupportedMandatorySee subclause "Property: ElementNameEditSupported".
MaxElementNameLenConditionalSee subclause "Property: MaxElementNameLen".
Operations
GetInstance( )MandatorySee DSP0223.
EnumerateInstances( )MandatorySee DSP0223.
EnumerateInstanceNames( )MandatorySee DSP0223.
Associators( ) for ElementCapabilitiesMandatorySee DSP0223.
AssociatorNames( ) for ElementCapabilitiesMandatorySee DSP0223.
References( ) for ElementCapabilitiesOptionalSee DSP0223.
ReferenceNames( ) for ElementCapabilitiesOptionalSee 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:

The following table identifies the element requirements for this adaptation.

ElementCapabilities: Element requirements
ElementRequire​mentDescription
Properties
ManagedElementMandatoryKey, see subclause "Property: ManagedElement".
CapabilitiesMandatoryKey, see subclause "Property: Capabilities".
Operations
GetInstance( )MandatorySee 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.

The following table identifies the element requirements for this adaptation.

SensoredElement: Element requirements
ElementRequire​mentDescription
Operations
Associators( ) for AssociatedSensorMandatorySee DSP0223.
AssociatorNames( ) for AssociatedSensorMandatorySee DSP0223.
References( ) for AssociatedSensorMandatorySee DSP0223.
ReferenceNames( ) for AssociatedSensorMandatorySee 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.

The following table identifies the element requirements for this adaptation.

AssociatedSensor: Element requirements
ElementRequire​mentDescription
Properties
AntecedentMandatoryKey, see subclause "Property: Antecedent".
DependentMandatoryKey, see subclause "Property: Dependent".
Operations
GetInstance( )MandatorySee 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 sequence of 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 single 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 sequence of 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 single 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 sequence of 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 sequence of steps:


(informative)

Change log

Change log
VersionDateDescription
1.0.0c2006-05-16DSP1009: Released as Preliminary Standard
1.0.02007-11-06DSP1009: Released as Final Standard
1.0.12008-09-25DSP1009: Released as DMTF Standard
1.0.22009-10-28DSP1009: Released as DMTF Standard, with the following changes:
  • Changed the values for the EnabledState property
1.0.3m2011-08-31XMP1009: 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