# Class CIM_SoftwareIdentity
extends CIM_LogicalElement

SoftwareIdentity provides descriptive information about a software component for asset tracking and/or installation dependency management. When the IsEntity property has the value TRUE, the instance of SoftwareIdentity represents an individually identifiable entity similar to Physical Element. SoftwareIdentity does NOT indicate whether the software is installed, executing, etc. This extra information may be provided through specialized associations to Software Identity. For instance, both InstalledSoftwareIdentity and ElementSoftwareIdentity may be used to indicate that the software identified by this class is installed. SoftwareIdentity is used when managing the software components of a ManagedElement that is the management focus. Since software may be acquired, SoftwareIdentity can be associated with a Product using the ProductSoftwareComponent relationship. The Application Model manages the deployment and installation of software via the classes, SoftwareFeatures and SoftwareElements. SoftwareFeature and SoftwareElement are used when the software component is the management focus. 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.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

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

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
ClassConstraint | string | inv:self.IsLargeBuildNumber=true implies self.BuildNumber = null and self.LargeBuildNumber <> null, inv:self.IsLargeBuildNumber=false implies self.LargeBuildNumber=null
Description | string | SoftwareIdentity provides descriptive information about a software component for asset tracking and/or installation dependency management. When the IsEntity property has the value TRUE, the instance of SoftwareIdentity represents an individually identifiable entity similar to Physical Element. SoftwareIdentity does NOT indicate whether the software is installed, executing, etc. This extra information may be provided through specialized associations to Software Identity. For instance, both InstalledSoftwareIdentity and ElementSoftwareIdentity may be used to indicate that the software identified by this class is installed. SoftwareIdentity is used when managing the software components of a ManagedElement that is the management focus. Since software may be acquired, SoftwareIdentity can be associated with a Product using the ProductSoftwareComponent relationship. The Application Model manages the deployment and installation of software via the classes, SoftwareFeatures and SoftwareElements. SoftwareFeature and SoftwareElement are used when the software component is the management focus. 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.
UMLPackagePath | string | CIM::Core::Software
Version | string | 2.28.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
BuildNumber | uint16 |
Description | string | The build number of the software.
ModelCorrespondence | string | CIM_SoftwareIdentity.LargeBuildNumber, CIM_SoftwareIdentity.IsLargeBuildNumber
ExtendedResourceType | uint16 |
Description | string | The binary format type of the installation package of the software. This property can be used to locate a SoftwareInstallationService capable of installing this software.
ModelCorrespondence | string | CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription, CIM_SoftwareIdentity.MinExtendedResourceTypeMajorVersion, CIM_SoftwareIdentity.MinExtendedResourceTypeMinorVersion, CIM_SoftwareIdentity.MinExtendedResourceTypeRevisionNumber, CIM_SoftwareIdentity.MinExtendedResourceTypeBuildNumber, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, .., 0x8000..
Values | string | Unknown, Other, Not Applicable, Linux RPM, HP-UX Depot, Windows MSI, Solaris Package, Macintosh Disk Image, Debian linux Package, VMware vSphere Installation Bundle, VMware Software Bulletin, HP Smart Component, DMTF Reserved, Vendor Reserved
InstanceID | string |
Description | string | Within 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'.
Key | boolean | true
Override | string | InstanceID
IsEntity | boolean | false
Description | string | The IsEntity property is used to indicate whether the SoftwareIdentity corresponds to a discrete copy of the software component or is being used to convey descriptive and identifying information about software that is not present in the management domain.A value of TRUE shall indicate that the SoftwareIdentity instance corresponds to a discrete copy of the software component. A value of FALSE shall indicate that the SoftwareIdentity instance does not correspond to a discrete copy of the Software.
IsLargeBuildNumber | boolean | false
Description | string | The IsLargeBuildNumber property is used to indicate if the BuildNumber of LargeBuildNumber property contains the value of the software build. A value of TRUE shall indicate that the build number is represented by the LargeBuildNumber property. A value of FALSE shall indicate that the build number is represented by the BuildNumber property.
ModelCorrespondence | string | CIM_SoftwareIdentity.BuildNumber, CIM_SoftwareIdentity.LargeBuildNumber
LargeBuildNumber | uint64 |
Description | string | The build number of the software if IsLargeBuildNumber is TRUE. TheLargeBuildNumber property should be used for all future implementations.
ModelCorrespondence | string | CIM_SoftwareIdentity.BuildNumber, CIM_SoftwareIdentity.IsLargeBuildNumber
MajorVersion | uint16 |
Description | string | The 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.
Manufacturer | string |
Description | string | Manufacturer of this software.
MinExtendedResourceTypeBuildNumber | uint16 |
Description | string | This property represents the Build number component of the minimum version of the installer, represented by theExtendedResourceType property, that is required to install this software.
ModelCorrespondence | string | CIM_SoftwareIdentity.ExtendedResourceType, CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesBuildNumbers
MinExtendedResourceTypeMajorVersion | uint16 |
Description | string | This property represents the major number component of the minimum version of the installer, represented by the ExtendedResourceType property, that is required to install this software.
ModelCorrespondence | string | CIM_SoftwareIdentity.ExtendedResourceType, CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesMajorVersions
MinExtendedResourceTypeMinorVersion | uint16 |
Description | string | This property represents the minor number component of the minimum version of the installer, represented by theExtendedResourceType property, that is required to install this software.
ModelCorrespondence | string | CIM_SoftwareIdentity.ExtendedResourceType, CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesMinorVersions
MinExtendedResourceTypeRevisionNumber | uint16 |
Description | string | This property represents the Revision number component of the minimum version of the installer, represented by theExtendedResourceType property, that is required to install this software.
ModelCorrespondence | string | CIM_SoftwareIdentity.ExtendedResourceType, CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesRevisionNumbers
MinorVersion | uint16 |
Description | string | The 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.
OtherExtendedResourceTypeDescription | string |
Description | string | A string describing the binary format type of the installation package of the software when the ExtendedResourceType property has a value of 1 (Other).
ModelCorrespondence | string | CIM_SoftwareIdentity.ExtendedResourceType, CIM_SoftwareIdentity.MinExtendedResourceTypeMajorVersion, CIM_SoftwareIdentity.MinExtendedResourceTypeMinorVersion, CIM_SoftwareIdentity.MinExtendedResourceTypeRevisionNumber, CIM_SoftwareIdentity.MinExtendedResourceTypeBuildNumber, CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes
ReleaseDate | datetime |
Description | string | The date the software was released.
RevisionNumber | uint16 |
Description | string | The 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.
SerialNumber | string |
Description | string | A manufacturer-allocated number used to identify the software.
VersionString | string |
Description | string | A 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.
ClassificationDescriptions | string[] |
ArrayType | string | Indexed
Description | string | An 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.
ModelCorrespondence | string | CIM_SoftwareIdentity.Classifications
Classifications | uint16[] |
ArrayType | string | Indexed
Description | string | An 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. The value 13, Software Bundle, identifies a software package consisting of multiple discrete software instances that can be installed individually or together. Each contained software instance is represented by an instance of SoftwareIdentity that is associated to this instance of SoftwareIdentityinstance via a Component association.
ModelCorrespondence | string | CIM_SoftwareIdentity.ClassificationDescriptions
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, .., 0x8000..0xFFFF
Values | string | Unknown, Other, Driver, Configuration Software, Application Software, Instrumentation, Firmware/BIOS, Diagnostic Software, Operating System, Middleware, Firmware, BIOS/FCode, Support/Service Pack, Software Bundle, DMTF Reserved, Vendor Reserved
IdentityInfoType | string[] |
ArrayType | string | Indexed
Description | string | An indexed array of fixed-form strings that provide the description of the type of information that is stored in the corresponding component of the IdentityInfoValue array. The elements of this property array describe the type of the value in the corresponding elements of the IndetityInfoValue array. When the IdentityInfoValue property is implemented, the IdentityInfoType property MUST be implemented. To insure uniqueness the IdentityInfoType property SHOULD be formatted using the following 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 that is creating or defining the IdentityInfoType or that is a registered ID assigned to the business entity by a recognized global authority. (This requirement 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 IdentityInfoType MUST appear between < OrgID > and < LocalID > . < LocalID > is chosen by the business entity and SHOULD NOT be reused to identify different underlying software elements.
MaxLen | uint32 | 256
ModelCorrespondence | string | CIM_SoftwareIdentity.IdentityInfoValue
IdentityInfoValue | string[] |
ArrayType | string | Indexed
Description | string | IdentityInfoValue captures additional information that MAY be used by an organization to describe or identify a software instance within the context of the organization. For example, large organizations may have several ways to address or identify a particular instance of software depending on where it is stored; a catalog, a web site, or for whom it is intended; development, customer service, etc. The indexed array property IdentityInfoValue contains 0 or more strings that contain a specific identity info string value. IdentityInfoValue is mapped and indexed to IdentityInfoType. When the IdentityInfoValue property is implemented, the IdentityInfoType property MUST be implemented and shall be formatted using the algorithm provided in the IdentityInfoType property Description.
MaxLen | uint32 | 256
ModelCorrespondence | string | CIM_SoftwareIdentity.IdentityInfoType
Languages | string[] |
Description | string | The language editions supported by the software. The language codes defined in ISO 639 should be used.
TargetOperatingSystems | string[] |
Description | string | Specifies the target operating systems of the software. This property should be used when a target operating system is not listed in the TargetOSTypes array values.
TargetOSTypes | uint16[] |
Description | string | The TargetOSTypes property specifies the target operating systems supported by the software. When the target operating system of the software is not listed in the enumeration values, TargetOperatingSystems[] property should be used to specify the target operating system.
ModelCorrespondence | string | CIM_OperatingSystem.OSType
TargetTypes | string[] |
Description | string | An array of strings that describes the compatible installer(s). The purpose of the array elements is to establish compatibility between a SoftwareIdentity and a SoftwareInstallationService that can install the SoftwareIdentity by comparing the values of the array elements of this property to the values of SoftwareInstallationServiceCapabilities.SupportedTargetTypes[] property's array elements.
ModelCorrespondence | string | CIM_SoftwareInstallationServiceCapabilities.SupportedTargetTypes

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
Name | string | CIM_ManagedSystemElement
OperatingStatus | uint16 | CIM_ManagedSystemElement
PrimaryStatus | uint16 | CIM_ManagedSystemElement
Status | string | CIM_ManagedSystemElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods