.
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
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.
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.
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.
The following typographical conventions are used in this document:
Constraints in this document are specified using OCL (see OCL 2.0).
OCL statements are in monospaced font.
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.
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
The following additional terms are defined in this document.
analog sensor
discrete sensor
sensor
sensored element
The abbreviations defined in DSP0004, DSP0223, and DSP1001 apply to this document.
This document does not define any additional abbreviations.
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 reference name | Profile name | Organization | Version | Relationship | Description |
---|---|---|---|---|---|
PRP | Profile Registration | DMTF | 1.0 | Mandatory | Used to represent the implementation of this profile. |
The following table identifies the features defined in this profile.
The following table identifies the class adaptations defined in this profile.
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. |
The following table identifies the use cases and state descriptions defined in this profile.
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". |
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.
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A AbstractSensor instance.
derive: self.ElementCapabilities::Capabilities.ElementNameEditSupported |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A AbstractSensor instance.
derive: self.ElementCapabilities::Capabilities. RequestedStatesSupported->notEmpty() |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SupportedThresholds-> select( entry | entry = 0 /* LowerThresholdNonCritical */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SupportedThresholds-> select( entry | entry = 1 /* UpperThresholdNonCritical */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SupportedThresholds-> select( entry | entry = 2 /* LowerThresholdCritical */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SupportedThresholds-> select( entry | entry = 3 /* UpperThresholdCritical */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SupportedThresholds-> select( entry | entry = 4 /* LowerThresholdFatal */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SupportedThresholds-> select( entry | entry = 5 /* UpperThresholdFatal */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SettableThresholds-> select( entry | entry = 0 /* LowerThresholdNonCritical */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SettableThresholds-> select( entry | entry = 1 /* UpperThresholdNonCritical */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SettableThresholds-> select( entry | entry = 2 /* LowerThresholdCritical */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SettableThresholds-> select( entry | entry = 3 /* UpperThresholdCritical */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SettableThresholds-> select( entry | entry = 4 /* LowerThresholdFatal */ )->size() = 1 |
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:
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:
The following OCL derivation constraint evaluates to a Boolean value of True.
OCL context: A NumericSensor instance.
derive: self.SettableThresholds-> select( entry | entry = 5 /* UpperThresholdFatal */ )->size() = 1 |
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:
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:
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.
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. |
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.
Element | Requirement | Description |
---|---|---|
Properties | ||
GroupComponent | Mandatory | Key, see subclause "Property: GroupComponent". |
PartComponent | Mandatory | Key, see subclause "Property: PartComponent". |
Operations | ||
GetInstance( ) | Mandatory | See DSP0223. |
The presentation requirement level for this property is mandatory.
The implementation shall satisfy the following constraints for this reference property:
The presentation requirement level for this property is mandatory.
The implementation shall satisfy the following constraints for this reference property:
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.
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. |
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:
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.
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() ) |
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.
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.
The presentation requirement level for this property is mandatory.
The implementation shall satisfy the following constraints for this property:
OCL constraint with context of a AbstractSensor instance:
inv: if self.mrpIsFeatureAvailable('SensorStateManagement') then ( self.RequestedState = 5 /* No Change */ or self.RequestedState = 12 /* Not Applicable */ or self.ElementCapabilities::Capabilities. RequestedStatesSupported->contains(self.RequestedState) ) else ( self.RequestedState = 12 /* Not Applicable */ ) |
OCL constraint with context of a AbstractSensor instance:
init: if self.mrpIsFeatureAvailable('SensorStateManagement') then ( self.RequestedState = 5 /* No Change */ ) |
The requirement level for this method is conditional, with the following condition:
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:
OCL constraint with context of a AbstractSensor instance:
pre: self.ElementCapabilities::Capabilities. RequestedStatesSupported->contains(RequestedState) |
OCL constraint with context of a AbstractSensor instance:
post: self.RequestedState = RequestedState |
The following table identifies the parameter and return value requirements of the method.
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". |
The following table identifies input value requirements for this parameter:
Input value | Requirement | Description |
---|---|---|
2 | Mandatory | 2 = Enabled; the sensor shall become operational. |
3 | Mandatory | 3 = Disabled; the sensor shall become disabled. |
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..
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).
This method shall return one of the following 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. |
For general requirements on the implementation of this operation, see DSP0223.
The requirement level for this operation is conditional, with the following condition:
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:
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:
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.
Element | Requirement | Description |
---|---|---|
Base adaptations | ||
AbstractSensor | Optional | See AbstractSensor. |
Properties | ||
CurrentState | Mandatory | See subclause "Property: CurrentState". |
PossibleStates | Mandatory | See subclause "Property: PossibleStates". |
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) |
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.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)) |
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.
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( )". |
The presentation requirement level for this property is conditional, with the following condition:
The modification requirement level for this property is conditional, with the following condition:
The presentation requirement level for this property is conditional, with the following condition:
The modification requirement level for this property is conditional, with the following condition:
The presentation requirement level for this property is conditional, with the following condition:
The modification requirement level for this property is conditional, with the following condition:
The presentation requirement level for this property is conditional, with the following condition:
The modification requirement level for this property is conditional, with the following condition:
The presentation requirement level for this property is conditional, with the following condition:
The modification requirement level for this property is conditional, with the following condition:
The presentation requirement level for this property is conditional, with the following condition:
The modification requirement level for this property is conditional, with the following condition:
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.
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.
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) |
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:
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)) |
The requirement level for this method is conditional, with the following condition:
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.
Parameter | Description |
---|---|
ReturnValue | See subclause "Return value". |
This method shall return one of the following return values:
Value | Description |
---|---|
0 | The method has executed successfully. |
1 | The method is not implemented. |
2 | An error has occurred. |
For general requirements on the implementation of this operation, see DSP0223.
The requirement level for this operation is conditional, with the following condition:
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:
The following table identifies the element requirements for this adaptation.
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. |
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 ) |
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 |
The presentation requirement level for this property is conditional, with the following condition:
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:
The following table identifies the element requirements for this adaptation.
Element | Requirement | Description |
---|---|---|
Properties | ||
ManagedElement | Mandatory | Key, see subclause "Property: ManagedElement". |
Capabilities | Mandatory | Key, see subclause "Property: Capabilities". |
Operations | ||
GetInstance( ) | Mandatory | See DSP0223. |
The presentation requirement level for this property is mandatory.
The implementation shall satisfy the following constraints for this reference property:
The presentation requirement level for this property is mandatory.
The implementation shall satisfy the following constraints for this reference property:
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.
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. |
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.
Element | Requirement | Description |
---|---|---|
Properties | ||
Antecedent | Mandatory | Key, see subclause "Property: Antecedent". |
Dependent | Mandatory | Key, see subclause "Property: Dependent". |
Operations | ||
GetInstance( ) | Mandatory | See DSP0223. |
The presentation requirement level for this property is mandatory.
The implementation shall satisfy the following constraints for this reference property:
The presentation requirement level for this property is mandatory.
The implementation shall satisfy the following constraints for this reference property:
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
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:
This use case has the following preconditions:
The main flow for this use case consists of the following single step:
This use case has the following preconditions:
The main flow for this use case consists of the following sequence of steps:
If so, the threshold may be changed. Change the threshold by invoking the ModifyInstance( ) operation on that NumericSensor instance, including the new value for the UpperThresholdNonCritical property in the modified instance.
Otherwise, the threshold cannot be changed.
This use case has the following preconditions:
The main flow for this use case consists of the following single step:
This use case has the following preconditions:
The main flow for this use case consists of the following sequence of steps:
Inspect the value of the ElementNameEditSupported property of that SensorCapabilities instance.
If that value is TRUE, the client can modify the ElementName property of the given DiscreteSensor or NumericSensor instance.
This use case has the following preconditions:
The main flow for this use case consists of the following sequence of steps:
Inspect the value of the RequestedStatesSupported array property of that SensorCapabilities instance.
If the array property contains at least one array entry, state management is supported for the sensor represented by the given DiscreteSensor or NumericSensor instance.
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:
|
1.0.3m | 2011-08-31 | XMP1009: Included as a sample profile into DSP2023 |
DMTF DSP1000, Management Profile Specification Template 1.1,
http://www.dmtf.org/standards/published_documents/DSP1000_1.1.pdf