1 a.dunfey 1.1 // ===================================================================
2 // Title: Core_Software
3 // $State: Exp $
4 // $Date: 2004/12/01 15:11:40 $
5 // $RCSfile: Core_Software.mof,v $
6 // $Revision: 1.6.2.5 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 a.dunfey 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The Core Model defines basic management concepts.
47 // This file defines the SoftwareIdentity class,
48 // representing software assets/inventory/units of
49 // existence.
50 //
51 // The object classes below are listed in an order that
52 // avoids forward references. Required objects, defined
53 // by other working groups, are omitted.
54 // ==================================================================
55 // Change Log for v2.9 Final
56 // CR1549 - Finalize SoftwareIdentity TargetType and ReleaseDate
57 //
58 // Change Log for v2.8 Final
59 // CR1189 - Add SerialNumber property to SoftwareIdentity
60 // CR1200 - ElementSoftwareIdentity
61 // CR1210 - Removal of experimental Qualifiers for core.
62 //
63 // Change Log for v2.8 Preliminary
64 a.dunfey 1.1 // CR1019 - CIM Versioning for 2.8 Preliminary
65 // CR1020 - Add ServiceSoftware relationship
66 // CR1049 - Modify the ServiceSoftware association to be
67 // ServiceSoftwareIdentity
68 // CR1098 - Addition of InstalledSoftwareIdentity
69 // CR1131 - Add enumerations to SoftwareIdentity.Classification
70 //
71 // Change Log for v2.7
72 // CR968 - Remove the Experimental qualifier
73 // CR994 - Update the description of InstanceID
74 //
75 // Change Log for v2.7
76 // CR753 - Add SoftwareIdentity
77 // CR904 - Added missing brackets to SoftwareIdentity.
78 // ClassificationDescriptions array
79 // ===================================================================
80
81 #pragma locale ("en_US")
82
83
84 // ==================================================================
85 a.dunfey 1.1 // SoftwareIdentity
86 // ==================================================================
87 [Version ( "2.8.0" ), Description (
88 "SoftwareIdentity represents software, viewed as an asset "
89 "and/or individually identifiable entity (similar to Physical "
90 "Element). It does NOT indicate whether the software is "
91 "installed, executing, etc. (The latter is the role of the "
92 "SoftwareFeature/ SoftwareElement classes and the Application "
93 "Model.) Since software may be acquired, SoftwareIdentity can "
94 "be associated with a Product using the "
95 "ProductSoftwareComponent relationship. \n"
96 "Note that the Application Model manages the deployment and "
97 "installation of software via the classes, SoftwareFeatures and "
98 "SoftwareElements. The deployment/installation concepts are "
99 "related to the asset/identity one. In fact, a SoftwareIdentity "
100 "may correspond to a Product, or to one or more "
101 "SoftwareFeatures or SoftwareElements - depending on the "
102 "granularity of these classes and the deployment model. The "
103 "correspondence of Software Identity to Product, "
104 "SoftwareFeature or SoftwareElement is indicated using the "
105 "ConcreteIdentity association. Note that there may not be "
106 a.dunfey 1.1 "sufficient detail or instrumentation to instantiate "
107 "ConcreteIdentity. And, if the association is instantiated, "
108 "some duplication of information may result. For example, the "
109 "Vendor described in the instances of Product and "
110 "SoftwareIdentity MAY be the same. However, this is not "
111 "necessarily true, and it is why vendor and similar information "
112 "are duplicated in this class. \n"
113 "Note that ConcreteIdentity can also be used to describe the "
114 "relationship of the software to any LogicalFiles that result "
115 "from installing it. As above, there may not be sufficient "
116 "detail or instrumentation to instantiate this association.")]
117 class CIM_SoftwareIdentity : CIM_LogicalElement {
118
119 [Key, Description (
120 "Within the scope of the instantiating Namespace, InstanceID "
121 "opaquely and uniquely identifies an instance of this class. "
122 "In order to ensure uniqueness within the NameSpace, the "
123 "value of InstanceID SHOULD be constructed using the "
124 "following 'preferred' algorithm: \n"
125 "<OrgID>:<LocalID> \n"
126 "Where <OrgID> and <LocalID> are separated by a colon ':', "
127 a.dunfey 1.1 "and where <OrgID> MUST include a copyrighted, trademarked "
128 "or otherwise unique name that is owned by the business "
129 "entity creating/defining the InstanceID, or is a registered "
130 "ID that is assigned to the business entity by a recognized "
131 "global authority (This is similar to the <Schema "
132 "Name>_<Class Name> structure of Schema class names.) In "
133 "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
134 "colon (':'). When using this algorithm, the first colon to "
135 "appear in InstanceID MUST appear between <OrgID> and "
136 "<LocalID>. \n"
137 "<LocalID> is chosen by the business entity and SHOULD not "
138 "be re-used to identify different underlying (real-world) "
139 "elements. If the above 'preferred' algorithm is not used, "
140 "the defining entity MUST assure that the resultant "
141 "InstanceID is not re-used across any InstanceIDs produced "
142 "by this or other providers for this instance's NameSpace. \n"
143 "For DMTF defined instances, the 'preferred' algorithm MUST "
144 "be used with the <OrgID> set to 'CIM'.")]
145 string InstanceID;
146
147 [Description (
148 a.dunfey 1.1 "The major number component of the software's version "
149 "information - for example, '12' from version 12.1(3)T. This "
150 "property is defined as a numeric value to allow the "
151 "determination of 'newer' vs. 'older' releases. A 'newer' "
152 "major release is indicated by a larger numeric value.")]
153 uint16 MajorVersion;
154
155 [Description (
156 "The minor number component of the software's version "
157 "information - for example, '1' from version 12.1(3)T. This "
158 "property is defined as a numeric value to allow the "
159 "determination of 'newer' vs. 'older' releases. A 'newer' "
160 "minor release is indicated by a larger numeric value.")]
161 uint16 MinorVersion;
162
163 [Description (
164 "The revision or maintenance release component of the "
165 "software's version information - for example, '3' from "
166 "version 12.1(3)T. This property is defined as a numeric "
167 "value to allow the determination of 'newer' vs. 'older' "
168 "releases. A 'newer' revision is indicated by a larger "
169 a.dunfey 1.1 "numeric value.")]
170 uint16 RevisionNumber;
171
172 [Description (
173 "The build number of the software.")]
174 uint16 BuildNumber;
175
176 [Description (
177 "A string representing the complete software version "
178 "information - for example, '12.1(3)T'. This string and the "
179 "numeric major/minor/revision/build properties are "
180 "complementary. Since vastly different representations and "
181 "semantics exist for versions, it is not assumed that one "
182 "representation is sufficient to permit a client to perform "
183 "computations (i.e., the values are numeric) and a user to "
184 "recognize the software's version (i.e., the values are "
185 "understandable and readable). Hence, both numeric and "
186 "string representations of version are provided.")]
187 string VersionString;
188
189 [Description (
190 a.dunfey 1.1 "Specifies the target operating systems of the software. Due "
191 "to the extreme variability in operating systems, this "
192 "property is defined as a string array.")]
193 string TargetOperatingSystems[];
194
195 [Description (
196 "Manufacturer of this software.")]
197 string Manufacturer;
198
199 [Description (
200 "The language editions supported by the software. The "
201 "language codes defined in ISO 639 should be used.")]
202 string Languages[];
203
204 [Description (
205 "An array of enumerated integers that classify this "
206 "software. For example, the software MAY be instrumentation "
207 "(value=5) or firmware and diagnostic software (10 and 7). "
208 "The use of value 6, Firmware/BIOS, is being deprecated. "
209 "Instead, either the value 10 (Firmware) and/or 11 "
210 "(BIOS/FCode) SHOULD be used."),
211 a.dunfey 1.1 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
212 "10", "11", "..", "0x8000..0xFFFF" },
213 Values { "Unknown", "Other", "Driver", "Configuration Software",
214 "Application Software", "Instrumentation", "Firmware/BIOS",
215 "Diagnostic Software", "Operating System", "Middleware",
216 "Firmware", "BIOS/FCode", "DMTF Reserved",
217 "Vendor Reserved" }, ArrayType ( "Indexed" ),
218 ModelCorrespondence {
219 "CIM_SoftwareIdentity.ClassificationDescriptions" }]
220 uint16 Classifications[];
221
222 [Description (
223 "An array of free-form strings providing more detailed "
224 "explanations for any of the entries in the Classifications "
225 "array. Note that each entry is related to one in the "
226 "Classifications array located at the same index."),
227 ArrayType ( "Indexed" ),
228 ModelCorrespondence { "CIM_SoftwareIdentity.Classifications" }]
229 string ClassificationDescriptions[];
230
231 [Description (
232 a.dunfey 1.1 "A manufacturer-allocated number used to identify the "
233 "software.")]
234 string SerialNumber;
235
236 [Description (
237 "The date the software was released.")]
238 datetime ReleaseDate;
239
240 };
241
242 // ===================================================================
243 // ElementSoftwareIdentity
244 // ===================================================================
245 [Association, Version ( "2.8.0" ), Description (
246 "ElementSoftwareIdentity allows a Managed Element to report its "
247 "software related asset information (firmware, drivers, "
248 "configuration software, and etc.)")]
249 class CIM_ElementSoftwareIdentity : CIM_Dependency {
250
251 [Override ( "Antecedent" ), Description (
252 "A LogicalElement's Software Asset.")]
253 a.dunfey 1.1 CIM_SoftwareIdentity REF Antecedent;
254
255 [Override ( "Dependent" ), Description (
256 "The ManagedElement that requires or uses the software.")]
257 CIM_ManagedElement REF Dependent;
258
259 [Description (
260 "Indicates the element's ability to upgrade this software "
261 "asset. \n"
262 "'Resides off element'(2), indicates the persistence of the "
263 "software is outside of the element. Typically for a element "
264 "this software is part of the OperatingSystem is typically "
265 "upgradeable. \n"
266 "'Owner Upgradeable' (3), indicates the persistence of the "
267 "software is on the element and is upgradeable by the owner. "
268 "\n'FactoryUpgradeable' (4),indicates the persistence of the "
269 "software is on the element and is upgradeable by the "
270 "manufacturer. \n"
271 "'Not Upgradeable' (5), indicates the presistence of the "
272 "software is on the element and is not upgradeable. (i.e. "
273 "burned into a non replaceable ROM chip."),
274 a.dunfey 1.1 ValueMap { "0", "1", "2", "3", "4", "5", "..","0x8000..0xFFFF" },
275 Values { "Unknown", "Other", "Resides off device",
276 "Owner Upgradeable", "Factory Upgradeable","Not Upgradeable",
277 "DMTF Reserved", "Vendor Reserved" },
278 ModelCorrespondence {
279 "CIM_ElementSoftwareIdentity.OtherUpgradeCondition" }]
280 uint16 UpgradeCondition;
281
282 [Description (
283 "Describes the upgrade condition, when UpgradeCondition is "
284 "set to 1 (\"Other\")."),
285 ModelCorrespondence {
286 "CIM_ElementSoftwareIdentity.UpgradeCondition" }]
287 string OtherUpgradeCondition;
288 };
289
290 // ==================================================================
291 // InstalledSoftwareIdentity
292 // ==================================================================
293 [Association, Version ( "2.8.0" ), Description (
294 "The InstalledSoftwareIdentity association identifies the "
295 a.dunfey 1.1 "System on which a SoftwareIdentity is installed. This class is "
296 "a corollary to InstalledSoftwareElement, but deals with the "
297 "asset aspects of software (as indicated by SoftwareIdentity), "
298 "versus the deployment aspects (as indicated by "
299 "SoftwareElement).")]
300 class CIM_InstalledSoftwareIdentity {
301
302 [Key, Description (
303 "The system on which the software is installed.")]
304 CIM_System REF System;
305
306 [Key, Description (
307 "The SoftwareIdentity that is installed.")]
308 CIM_SoftwareIdentity REF InstalledSoftware;
309 };
310
311 // ===================================================================
312 // end of file
313 // ===================================================================
|