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