Class CIM_SoftwareIdentity
extends CIM_LogicalElement

SoftwareIdentity represents software, viewed as an asset and/or individually identifiable entity (similar to Physical Element). It does NOT indicate whether the software is installed, executing, etc. (The latter is the role of the SoftwareFeature/ SoftwareElement classes and the Application Model.) Since software may be acquired, SoftwareIdentity can be associated with a Product using the ProductSoftwareComponent relationship. Note that the Application Model manages the deployment and installation of software via the classes, SoftwareFeatures and SoftwareElements. The deployment/installation concepts are related to the asset/identity one. In fact, a SoftwareIdentity may correspond to a Product, or to one or more SoftwareFeatures or SoftwareElements - depending on the granularity of these classes and the deployment model. The correspondence of Software Identity to Product, SoftwareFeature or SoftwareElement is indicated using the ConcreteIdentity association. Note that there may not be sufficient detail or instrumentation to instantiate ConcreteIdentity. And, if the association is instantiated, some duplication of information may result. For example, the Vendor described in the instances of Product and SoftwareIdentity MAY be the same. However, this is not necessarily true, and it is why vendor and similar information are duplicated in this class. Note that ConcreteIdentity can also be used to describe the relationship of the software to any LogicalFiles that result from installing it. As above, there may not be sufficient detail or instrumentation to instantiate this association.

Class Hierarchy

CIM_ManagedElement
   |
   +--CIM_ManagedSystemElement
   |
   +--CIM_LogicalElement
   |
   +--CIM_SoftwareIdentity

Direct Known Subclasses

None.

Class Qualifiers

NameData TypeValueScopeFlavors
DescriptionstringSoftwareIdentity represents software, viewed as an asset and/or individually identifiable entity (similar to Physical Element). It does NOT indicate whether the software is installed, executing, etc. (The latter is the role of the SoftwareFeature/ SoftwareElement classes and the Application Model.) Since software may be acquired, SoftwareIdentity can be associated with a Product using the ProductSoftwareComponent relationship. Note that the Application Model manages the deployment and installation of software via the classes, SoftwareFeatures and SoftwareElements. The deployment/installation concepts are related to the asset/identity one. In fact, a SoftwareIdentity may correspond to a Product, or to one or more SoftwareFeatures or SoftwareElements - depending on the granularity of these classes and the deployment model. The correspondence of Software Identity to Product, SoftwareFeature or SoftwareElement is indicated using the ConcreteIdentity association. Note that there may not be sufficient detail or instrumentation to instantiate ConcreteIdentity. And, if the association is instantiated, some duplication of information may result. For example, the Vendor described in the instances of Product and SoftwareIdentity MAY be the same. However, this is not necessarily true, and it is why vendor and similar information are duplicated in this class. Note that ConcreteIdentity can also be used to describe the relationship of the software to any LogicalFiles that result from installing it. As above, there may not be sufficient detail or instrumentation to instantiate this association.None TRANSLATABLE= true
Versionstring2.8.0TOSUBCLASS= falseTRANSLATABLE= true

Local Class Properties

NameData TypeQualifiers
NameData TypeValueScopeFlavors
BuildNumberuint16
DescriptionstringThe build number of the software.None TRANSLATABLE= true
Captionstring
DescriptionstringThe Caption property is a short textual description (one- line string) of the object.None TRANSLATABLE= true
MaxLenuint3264None None
Descriptionstring
DescriptionstringThe Description property provides a textual description of the object.None TRANSLATABLE= true
ElementNamestring
DescriptionstringA user-friendly name for the object. This property allows each instance to define a user-friendly name IN ADDITION TO its key properties/identity data, and description information. Note that ManagedSystemElement's Name property is also defined as a user-friendly name. But, it is often subclassed to be a Key. It is not reasonable that the same property can convey both identity and a user friendly name, without inconsistencies. Where Name exists and is not a Key (such as for instances of LogicalDevice), the same information MAY be present in both the Name and ElementName properties.None TRANSLATABLE= true
InstallDatedatetime
DescriptionstringA datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed.None TRANSLATABLE= true
MappingStringsstringMIF.DMTF|ComponentID|001.5None None
InstanceIDstring
DescriptionstringWithin the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. In order to ensure uniqueness within the NameSpace, the value of InstanceID SHOULD be constructed using the following 'preferred' algorithm: <OrgID>:<LocalID> Where <OrgID> and <LocalID> are separated by a colon ':', and where <OrgID> MUST include a copyrighted, trademarked or otherwise unique name that is owned by the business entity creating/defining the InstanceID, or is a registered ID that is assigned to the business entity by a recognized global authority (This is similar to the <Schema Name>_<Class Name> structure of Schema class names.) In addition, to ensure uniqueness <OrgID> MUST NOT contain a colon (':'). When using this algorithm, the first colon to appear in InstanceID MUST appear between <OrgID> and <LocalID>. <LocalID> is chosen by the business entity and SHOULD not be re-used to identify different underlying (real-world) elements. If the above 'preferred' algorithm is not used, the defining entity MUST assure that the resultant InstanceID is not re-used across any InstanceIDs produced by this or other providers for this instance's NameSpace. For DMTF defined instances, the 'preferred' algorithm MUST be used with the <OrgID> set to 'CIM'.None TRANSLATABLE= true
KeybooleantrueNone OVERRIDABLE= false
MajorVersionuint16
DescriptionstringThe major number component of the software's version information - for example, '12' from version 12.1(3)T. This property is defined as a numeric value to allow the determination of 'newer' vs. 'older' releases. A 'newer' major release is indicated by a larger numeric value.None TRANSLATABLE= true
Manufacturerstring
DescriptionstringManufacturer of this software.None TRANSLATABLE= true
MinorVersionuint16
DescriptionstringThe minor number component of the software's version information - for example, '1' from version 12.1(3)T. This property is defined as a numeric value to allow the determination of 'newer' vs. 'older' releases. A 'newer' minor release is indicated by a larger numeric value.None TRANSLATABLE= true
Namestring
DescriptionstringThe Name property defines the label by which the object is known. When subclassed, the Name property can be overridden to be a Key property.None TRANSLATABLE= true
MaxLenuint321024None None
RevisionNumberuint16
DescriptionstringThe revision or maintenance release component of the software's version information - for example, '3' from version 12.1(3)T. This property is defined as a numeric value to allow the determination of 'newer' vs. 'older' releases. A 'newer' revision is indicated by a larger numeric value.None TRANSLATABLE= true
SerialNumberstring
DescriptionstringA manufacturer-allocated number used to identify the software.None TRANSLATABLE= true
Statusstring
DeprecatedstringCIM_ManagedSystemElement.OperationalStatusTOSUBCLASS= falseNone
DescriptionstringA string indicating the current status of the object. Various operational and non-operational statuses are defined. This property is deprecated in lieu of OperationalStatus, which includes the same semantics in its enumeration. This change is made for 3 reasons: 1) Status is more correctly defined as an array. This overcomes the limitation of describing status via a single value, when it is really a multi-valued property (for example, an element may be OK AND Stopped. 2) A MaxLen of 10 is too restrictive and leads to unclear enumerated values. And, 3) The change to a uint16 data type was discussed when CIM V2.0 was defined. However, existing V1.0 implementations used the string property and did not want to modify their code. Therefore, Status was grandfathered into the Schema. Use of the Deprecated qualifier allows the maintenance of the existing property, but also permits an improved definition using OperationalStatus.None TRANSLATABLE= true
MaxLenuint3210None None
ValueMapstringOK, Error, Degraded, Unknown, Pred Fail, Starting, Stopping, Service, Stressed, NonRecover, No Contact, Lost Comm, StoppedNone None
VersionStringstring
DescriptionstringA string representing the complete software version information - for example, '12.1(3)T'. This string and the numeric major/minor/revision/build properties are complementary. Since vastly different representations and semantics exist for versions, it is not assumed that one representation is sufficient to permit a client to perform computations (i.e., the values are numeric) and a user to recognize the software's version (i.e., the values are understandable and readable). Hence, both numeric and string representations of version are provided.None TRANSLATABLE= true
ClassificationDescriptionsstring[]
ArrayTypestringIndexedNone OVERRIDABLE= false
DescriptionstringAn array of free-form strings providing more detailed explanations for any of the entries in the Classifications array. Note that each entry is related to one in the Classifications array located at the same index.None TRANSLATABLE= true
ModelCorrespondencestringCIM_SoftwareIdentity.ClassificationsNone None
Classificationsuint16[]
ArrayTypestringIndexedNone OVERRIDABLE= false
DescriptionstringAn array of enumerated integers that classify this software. For example, the software MAY be instrumentation (value=5) or firmware and diagnostic software (10 and 7). The use of value 6, Firmware/BIOS, is being deprecated. Instead, either the value 10 (Firmware) and/or 11 (BIOS/FCode) SHOULD be used.None TRANSLATABLE= true
ModelCorrespondencestringCIM_SoftwareIdentity.ClassificationDescriptionsNone None
ValueMapstring0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, .., 0x8000..0xFFFFNone None
ValuesstringUnknown, Other, Driver, Configuration Software, Application Software, Instrumentation, Firmware/BIOS, Diagnostic Software, Operating System, Middleware, Firmware, BIOS/FCode, DMTF Reserved, Vendor ReservedNone TRANSLATABLE= true
Languagesstring[]
DescriptionstringThe language editions supported by the software. The language codes defined in ISO 639 should be used.None TRANSLATABLE= true
OperationalStatusuint16[]
ArrayTypestringIndexedNone OVERRIDABLE= false
DescriptionstringIndicates the current status(es) of the element. Various health and operational statuses are defined. Many of the enumeration's values are self- explanatory. However, a few are not and are described in more detail. "Stressed" indicates that the element is functioning, but needs attention. Examples of "Stressed" states are overload, overheated, etc. "Predictive Failure" indicates that an element is functioning nominally but predicting a failure in the near future. "In Service" describes an element being configured, maintained, cleaned, or otherwise administered. "No Contact" indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it. "Lost Communication" indicates that the ManagedSystem Element is known to exist and has been contacted successfully in the past, but is currently unreachable. "Stopped" and "Aborted" are similar, although the former implies a clean and orderly stop, while the latter implies an abrupt stop where the element's state and configuration may need to be updated. "Dormant" indicates that the element is inactive or quiesced. "Supporting Entity in Error" describes that this element may be "OK" but that another element, on which it is dependent, is in error. An example is a network service or endpoint that cannot function due to lower layer networking problems. "Completed" indicates the element has completed its operation. This value should be combined with either OK, Error, or Degraded so that a client can till if the complete operation passed (Completed with OK), and failure (Completed with Error). Completed with Degraded would imply the operation finished, but did not complete OK or report an error. "Power Mode" indicates the element has additional power model information contained in the Associated PowerManagementService association. OperationalStatus replaces the Status property on ManagedSystemElement to provide a consistent approach to enumerations, to address implementation needs for an array property, and to provide a migration path from today's environment to the future. This change was not made earlier since it required the DEPRECATED qualifier. Due to the widespread use of the existing Status property in management applications, it is strongly RECOMMENDED that providers/instrumentation provide BOTH the Status and OperationalStatus properties. Further, the first value of OperationalStatus SHOULD contain the primary status for the element. When instrumented, Status (since it is single-valued) SHOULD also provide the primary status of the element.None TRANSLATABLE= true
ModelCorrespondencestringCIM_ManagedSystemElement.StatusDescriptionsNone None
ValueMapstring0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, .., 0x8000..None None
ValuesstringUnknown, Other, OK, Degraded, Stressed, Predictive Failure, Error, Non-Recoverable Error, Starting, Stopping, Stopped, In Service, No Contact, Lost Communication, Aborted, Dormant, Supporting Entity in Error, Completed, Power Mode, DMTF Reserved, Vendor ReservedNone TRANSLATABLE= true
StatusDescriptionsstring[]
ArrayTypestringIndexedNone OVERRIDABLE= false
DescriptionstringStrings describing the various OperationalStatus array values. For example, if "Stopping" is the value assigned to OperationalStatus, then this property may contain an explanation as to why an object is being stopped. Note that entries in this array are correlated with those at the same array index in OperationalStatus.None TRANSLATABLE= true
ModelCorrespondencestringCIM_ManagedSystemElement.OperationalStatusNone None
TargetOperatingSystemsstring[]
DescriptionstringSpecifies the target operating systems of the software. Due to the extreme variability in operating systems, this property is defined as a string array.None TRANSLATABLE= true