// Copyright (c) 2005 DMTF. All rights reserved.
// Updated description.
// Add UmlPackagePath
// qualifier values to CIM Schema.
// ==================================================================
// CIM_SoftwareIdentity
// ==================================================================
[UMLPackagePath ( "CIM::Core::Software" ), Version ( "2.13.0" ),
Description (
"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. This extra information may alternatively 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.) Since "
"software may be acquired, SoftwareIdentity can be associated "
"with a Product using the ProductSoftwareComponent "
"relationship. \n"
"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. \n"
"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 CIM_SoftwareIdentity : CIM_LogicalElement {
[Key, Description (
"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: \n"
": \n"
"Where and are separated by a colon ':', "
"and where 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 _ structure of Schema class names.) In "
"addition, to ensure uniqueness MUST NOT contain a "
"colon (':'). When using this algorithm, the first colon to "
"appear in InstanceID MUST appear between and "
". \n"
" 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. \n"
"For DMTF defined instances, the 'preferred' algorithm MUST "
"be used with the set to 'CIM'.")]
string InstanceID;
[Description (
"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.")]
uint16 MajorVersion;
[Description (
"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.")]
uint16 MinorVersion;
[Description (
"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.")]
uint16 RevisionNumber;
[Description (
"The build number of the software.")]
uint16 BuildNumber;
[Description (
"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.")]
string VersionString;
[Description (
"Specifies the target operating systems of the software. Due "
"to the extreme variability in operating systems, this "
"property is defined as a string array.")]
string TargetOperatingSystems[];
[Description (
"Manufacturer of this software.")]
string Manufacturer;
[Description (
"The language editions supported by the software. The "
"language codes defined in ISO 639 should be used.")]
string Languages[];
[Description (
"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."),
ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "..", "0x8000..0xFFFF" },
Values { "Unknown", "Other", "Driver", "Configuration Software",
"Application Software", "Instrumentation", "Firmware/BIOS",
"Diagnostic Software", "Operating System", "Middleware",
"Firmware", "BIOS/FCode", "DMTF Reserved",
"Vendor Reserved" }, ArrayType ( "Indexed" ),
ModelCorrespondence {
"CIM_SoftwareIdentity.ClassificationDescriptions" }]
uint16 Classifications[];
[Description (
"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."),
ArrayType ( "Indexed" ),
ModelCorrespondence { "CIM_SoftwareIdentity.Classifications" }]
string ClassificationDescriptions[];
[Description (
"A manufacturer-allocated number used to identify the "
"software.")]
string SerialNumber;
[Description (
"The date the software was released.")]
datetime ReleaseDate;
};