1 tony 1.1 // ===================================================================
2 // Title: Core Device 2.8
3 // Filename: Core28_Device.mof
4 // Version: 2.8
5 // Status: Final
6 // Date: Jan 26, 2004
7 // ===================================================================
8 // Copyright 1998-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. 225
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 concepts for LogicalDevices (the
46 // logical abstractions and management of installed
47 // hardware).
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 Final
54 // CR1200 - ElementSoftwareIdentity
55 // CR1210 - Removal of experimental qualifiers for core.
56 // CR1223 - SysDev Omnibus CR - Minor MOF corrections.
57 //
58 // Change Log for v2.8 Preliminary
59 // CR932 - Add power mode status to OperationalStatus.
60 // Move the specific power mode states from availability
61 // to a property between the PowerMgmt service and its ME.
62 // Remove the overlapping properties from Logical Device.
63 // CR943 - Move error code data from LogicalDevice to
64 tony 1.1 // DeviceErrorCountData
65 // CR1002 - Move LogicalDevice.PowerOnHours and
66 // LogicalDevice.TotalPowerOnHours to PowerManagementStatistics
67 // CR1019 - CIM Versioning for 2.8 Preliminary
68 // CR1045 - Add method for requesting a "EnabledState" change in
69 // EnabledLogicalElement class / Deprecate or explain overlap
70 // with LogicalDevice and Service properties and methods
71 // CR1092 - Move DeviceSoftwareIdentity to Core28_Device.mof from
72 // Device28_DeviceElements.
73 //
74 // Change Log for v2.7 Final
75 // CR961 - Change references to EnabledStatus and RequestedStatus to
76 // EnabledState and RequestedState in the LogicalDevice.
77 // StatusInfo,
78 // EnableDevice(),
79 // OnlineDevice(),
80 // QuiesceDevice()
81 //
82 // Change Log for v2.7
83 // CR624 - Fixed several of the DMI mapping strings that were missing
84 // the attribute number in LogicalDevice
85 tony 1.1 // CR720 - Deprecate the use of LogicalDevice.PowerManagementSupported,
86 // LogicalDevice.PowerManagementCapabilities, & LogicalDevice.
87 // SetPowerState()
88 // CR761 - Add the Composition Qualifer to SystemDevice
89 // CR763 - Change subclassing of LogicalDevice from LogicalElement to
90 // EnabledLogicalElement
91 // - Deprecate LogicalDevice.StatusInfo
92 // - Update description of LogicalDevice.EnableDevice() to
93 // explain position relative to LogicalDevice.RequestedStatus
94 // - Update description of LogicalDevice.OnlineDevice() and
95 // QuiesceDevice to make reference to EnabledStatus
96 // ==================================================================
97
98 #pragma locale ("en_US")
99
100
101 // ===================================================================
102 // LogicalDevice
103 // ===================================================================
104 [Abstract, Version ( "2.8.0" ), Description (
105 "An abstraction or emulation of a hardware entity, that may or "
106 tony 1.1 "may not be Realized in physical hardware. Any characteristics "
107 "of a LogicalDevice that are used to manage its operation or "
108 "configuration are contained in, or associated with, the "
109 "LogicalDevice object. Examples of the operational properties "
110 "of a Printer would be paper sizes supported, or detected "
111 "errors. Examples of the configuration properties of a Sensor "
112 "Device would be threshold settings. Various configurations "
113 "could exist for a LogicalDevice. These configurations could be "
114 "contained in Setting objects and associated with the "
115 "LogicalDevice.")]
116 class CIM_LogicalDevice : CIM_EnabledLogicalElement {
117
118 [Key, Propagated ( "CIM_System.CreationClassName" ),
119 Description (
120 "The scoping System's CreationClassName."),
121 MaxLen ( 256 )]
122 string SystemCreationClassName;
123
124 [Key, Propagated ( "CIM_System.Name" ), Description (
125 "The scoping System's Name."),
126 MaxLen ( 256 )]
127 tony 1.1 string SystemName;
128
129 [Key, Description (
130 "CreationClassName indicates the name of the class or the "
131 "subclass used in the creation of an instance. When used "
132 "with the other key properties of this class, this property "
133 "allows all instances of this class and its subclasses to be "
134 "uniquely identified."),
135 MaxLen ( 256 )]
136 string CreationClassName;
137
138 [Key, Description (
139 "An address or other identifying information to uniquely "
140 "name the LogicalDevice."),
141 MaxLen ( 64 )]
142 string DeviceID;
143
144 [Deprecated { "CIM_PowerManagementCapabilities" }, Description (
145 "Boolean indicating that the Device can be power managed. "
146 "The use of this property has been deprecated. Instead, the "
147 "existence of an associated PowerManagementCapabilities "
148 tony 1.1 "class (associated using the ElementCapabilities "
149 "relationhip) indicates that power management is supported.")]
150 boolean PowerManagementSupported;
151
152 [Deprecated { "CIM_PowerManagementCapabilities.PowerCapabilities"
153 }, Description (
154 "An enumerated array describing the power management "
155 "capabilities of the Device. The use of this property has "
156 "been deprecated. Instead, the PowerCapabilites property in "
157 "an associated PowerManagementCapabilities class should be "
158 "used."),
159 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" },
160 Values { "Unknown", "Not Supported", "Disabled", "Enabled",
161 "Power Saving Modes Entered Automatically",
162 "Power State Settable", "Power Cycling Supported",
163 "Timed Power On Supported" }]
164 uint16 PowerManagementCapabilities[];
165
166 [Description (
167 "The primary availability and status of the Device. "
168 "(Additional status information can be specified using the "
169 tony 1.1 "Additional Availability array property.) For example, the "
170 "Availability property indicates that the Device is running "
171 "and has full power (value=3), or is in a warning (4), test "
172 "(5), degraded (10) or power save state (values 13-15 and "
173 "17). Regarding the Power Save states, these are defined as "
174 "follows: Value 13 (\"Power Save - Unknown\") indicates that "
175 "the Device is known to be in a power save mode, but its "
176 "exact status in this mode is unknown; 14 (\"Power Save - "
177 "Low Power Mode\") indicates that the Device is in a power "
178 "save state but still functioning, and may exhibit degraded "
179 "performance; 15 (\"Power Save - Standby\") describes that "
180 "the Device is not functioning but could be brought to full "
181 "power 'quickly'; and value 17 (\"Power Save - Warning\") "
182 "indicates that the Device is in a warning state, though "
183 "also in a power save mode."),
184 ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
185 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
186 "21" },
187 Values { "Other", "Unknown", "Running/Full Power", "Warning",
188 "In Test", "Not Applicable", "Power Off", "Off Line",
189 "Off Duty", "Degraded", "Not Installed", "Install Error",
190 tony 1.1 "Power Save - Unknown", "Power Save - Low Power Mode",
191 "Power Save - Standby", "Power Cycle",
192 "Power Save - Warning", "Paused", "Not Ready",
193 "Not Configured", "Quiesced" },
194 MappingStrings { "MIF.DMTF|Operational State|006.5",
195 "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus",
196 "MIF.DMTF|Host Device|001.5" },
197 ModelCorrespondence { "CIM_LogicalDevice.AdditionalAvailability"
198 }]
199 uint16 Availability;
200
201 [Deprecated { "CIM_EnabledLogicalElement.EnabledState" },
202 Description (
203 "The StatusInfo property indicates whether the Logical "
204 "Device is in an enabled (value = 3), disabled (value = 4) "
205 "or some other (1) or unknown (2) state. If this property "
206 "does not apply to the LogicalDevice, the value, 5 (\"Not "
207 "Applicable\"), should be used. StatusInfo has been "
208 "deprecated in lieu of a more clearly named property with "
209 "additional enumerated values (EnabledState), that is "
210 "inherited from ManagedSystemElement. \n"
211 tony 1.1 "If a Device is (\"Enabled\")(value=3), it has been powered "
212 "up, and is configured and operational. The Device may or "
213 "may not be functionally active, depending on whether its "
214 "Availability (or AdditionalAvailability) indicate that it "
215 "is (\"Running/Full Power\")(value=3) or (\"Off line\") "
216 "(value=8). In an enabled but offline mode, a Device may be "
217 "performing out-of-band requests, such as running "
218 "Diagnostics. If (\"Disabled\") StatusInfo value=4), a "
219 "Device can only be \"enabled\" or powered off. In a "
220 "personal computer environment, (\"Disabled\") means that "
221 "the Device's driver is not available in the stack. In other "
222 "environments, a Device can be disabled by removing its "
223 "configuration file. A disabled device is physically present "
224 "in a System and consuming resources, but can not be "
225 "communicated with until a load of a driver, a load of a "
226 "configuration file or some other \"enabling\" activity has "
227 "occurred."),
228 ValueMap { "1", "2", "3", "4", "5" },
229 Values { "Other", "Unknown", "Enabled", "Disabled",
230 "Not Applicable" },
231 MappingStrings { "MIF.DMTF|Operational State|006.4" }]
232 tony 1.1 uint16 StatusInfo;
233
234 [Deprecated { "CIM_DeviceErrorData.LastErrorCode" },
235 Description (
236 "LastErrorCode captures the last error code reported by the "
237 "LogicalDevice.")]
238 uint32 LastErrorCode;
239
240 [Deprecated { "CIM_DeviceErrorData.ErrorDescription" },
241 Description (
242 "ErrorDescription is a free-form string supplying more "
243 "information about the error recorded in LastErrorCode, and "
244 "information on any corrective actions that may be taken.")]
245 string ErrorDescription;
246
247 [Deprecated { "CIM_ManagedSystemElement.OperationalStatus" },
248 Description (
249 "ErrorCleared is a boolean property indicating that the "
250 "error reported in LastErrorCode is now cleared.")]
251 boolean ErrorCleared;
252
253 tony 1.1 [Description (
254 "OtherIdentifyingInfo captures additional data, beyond "
255 "DeviceID information, that could be used to identify a "
256 "LogicalDevice. One example would be to hold the Operating "
257 "System's user friendly name for the Device in this "
258 "property."),
259 MaxLen ( 256 ), ArrayType ( "Indexed" ),
260 ModelCorrespondence {
261 "CIM_LogicalDevice.IdentifyingDescriptions" }]
262 string OtherIdentifyingInfo[];
263
264 [Description (
265 "The number of consecutive hours that this Device has been "
266 "powered, since its last power cycle."),
267 Units ( "Hours" ), Counter]
268 uint64 PowerOnHours;
269
270 [Description (
271 "The total number of hours that this Device has been "
272 "powered."),
273 Units ( "Hours" ), Counter]
274 tony 1.1 uint64 TotalPowerOnHours;
275
276 [Description (
277 "An array of free-form strings providing explanations and "
278 "details behind the entries in the OtherIdentifyingInfo "
279 "array. Note, each entry of this array is related to the "
280 "entry in OtherIdentifyingInfo that is located at the same "
281 "index."),
282 ArrayType ( "Indexed" ),
283 ModelCorrespondence { "CIM_LogicalDevice.OtherIdentifyingInfo" }]
284 string IdentifyingDescriptions[];
285
286 [Description (
287 "Additional availability and status of the Device, beyond "
288 "that specified in the Availability property. The "
289 "Availability property denotes the primary status and "
290 "availability of the Device. In some cases, this will not be "
291 "sufficient to denote the complete status of the Device. In "
292 "those cases, the AdditionalAvailability property can be "
293 "used to provide further information. For example, a "
294 "Device's primary Availability may be \"Off line\" "
295 tony 1.1 "(value=8), but it may also be in a low power state "
296 "(AdditonalAvailability value=14), or the Device could be "
297 "running Diagnostics (AdditionalAvailability value=5, \"In "
298 "Test\")."),
299 ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
300 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
301 "21" },
302 Values { "Other", "Unknown", "Running/Full Power", "Warning",
303 "In Test", "Not Applicable", "Power Off", "Off Line",
304 "Off Duty", "Degraded", "Not Installed", "Install Error",
305 "Power Save - Unknown", "Power Save - Low Power Mode",
306 "Power Save - Standby", "Power Cycle",
307 "Power Save - Warning", "Paused", "Not Ready",
308 "Not Configured", "Quiesced" },
309 ModelCorrespondence { "CIM_LogicalDevice.Availability" }]
310 uint16 AdditionalAvailability[];
311
312 [Deprecated { "No value" }, Description (
313 "The MaxQuiesceTime property has been deprecated. When "
314 "evaluating the use of Quiesce, it was determine that this "
315 "single property is not adequate for describing when a "
316 tony 1.1 "device will automatically exit a quiescent state. In fact, "
317 "the most likely scenario for a device to exit a quiescent "
318 "state was determined to be based on the number of "
319 "outstanding requests queued rather than on a maximum time. "
320 "This will be re-evaluated and repositioned later. \n"
321 "Maximum time in milliseconds, that a Device can run in a "
322 "\"Quiesced\" state. A Device's state is defined in its "
323 "Availability and AdditionalAvailability properties, where "
324 "\"Quiesced\" is conveyed by the value 21. What occurs at "
325 "the end of the time limit is device-specific. The Device "
326 "may unquiesce, may offline or take other action. A value of "
327 "0 indicates that a Device can remain quiesced indefinitely."),
328 Units ( "MilliSeconds" )]
329 uint64 MaxQuiesceTime;
330
331 [Deprecated { "CIM_PowerManagementService.SetPowerState" },
332 Description (
333 "Sets the power state of the Device. The use of this method "
334 "has been deprecated. Instead, use the SetPowerState method "
335 "in the associated PowerManagementService class.")]
336 uint32 SetPowerState(
337 tony 1.1 [IN, Description (
338 "The power state to set."),
339 ValueMap { "1", "2", "3", "4", "5", "6" },
340 Values { "Full Power", "Power Save - Low Power Mode",
341 "Power Save - Standby", "Power Save - Other",
342 "Power Cycle", "Power Off" }]
343 uint16 PowerState,
344 [IN, Description (
345 "Time indicates when the power state should be set, "
346 "either as a regular date-time value or as an interval "
347 "value (where the interval begins when the method "
348 "invocation is received.")]
349 datetime Time);
350
351 [Description (
352 "Requests a reset of the LogicalDevice. The return value "
353 "should be 0 if the request was successfully executed, 1 if "
354 "the request is not supported and some other value if an "
355 "error occurred. In a subclass, the set of possible return "
356 "codes could be specified, using a ValueMap qualifier on the "
357 "method. The strings to which the ValueMap contents are "
358 tony 1.1 "'translated' may also be specified in the subclass as a "
359 "Values array qualifier.")]
360 uint32 Reset();
361
362 [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" },
363 Description (
364 "The EnableDevice method has been deprecated in lieu of the "
365 "more general RequestStateChange method that directly "
366 "overlaps with the functionality provided by this method. \n"
367 "Requests that the LogicalDevice be enabled (\"Enabled\" "
368 "input parameter = TRUE) or disabled (= FALSE). If "
369 "successful, the Device's StatusInfo/EnabledState properties "
370 "should reflect the desired state (enabled/disabled). Note "
371 "that this method's function overlaps with the "
372 "RequestedState property. RequestedState was added to the "
373 "model to maintain a record (i.e., a persisted value) of the "
374 "last state request. Invoking the EnableDevice method should "
375 "set the RequestedState property appropriately. \n"
376 "The return code should be 0 if the request was successfully "
377 "executed, 1 if the request is not supported and some other "
378 "value if an error occurred. In a subclass, the set of "
379 tony 1.1 "possible return codes could be specified, using a ValueMap "
380 "qualifier on the method. The strings to which the ValueMap "
381 "contents are 'translated' may also be specified in the "
382 "subclass as a Values array qualifier.")]
383 uint32 EnableDevice(
384 [IN, Description (
385 "If TRUE enable the device, if FALSE disable the device.")]
386 boolean Enabled);
387
388 [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" },
389 Description (
390 "The OnlineDevice method has been deprecated in lieu of the "
391 "more general RequestStateChange method that directly "
392 "overlaps with the functionality provided by this method. \n"
393 "Requests that the LogicalDevice be brought online "
394 "(\"Online\" input parameter = TRUE) or taken offline (= "
395 "FALSE). \"Online\" indicates that the Device is ready to "
396 "accept requests, and is operational and fully functioning. "
397 "In this case, the Device's Availability property would be "
398 "set to a value of 3 (\"Running/Full Power\"). \"Offline\" "
399 "indicates that a Device is powered up and operational, but "
400 tony 1.1 "not processing functional requests. In an offline state, a "
401 "Device may be capable of running diagnostics or generating "
402 "operational alerts. For example, when the \"Offline\" "
403 "button is pushed on a Printer, the Device is no longer "
404 "available to process print jobs, but could be available for "
405 "diagnostics or maintenance. \n"
406 "If this method is successful, the Device's Availability and "
407 "AdditionalAvailability properties should reflect the "
408 "updated status. If a failure occurs trying to bring the "
409 "Device online or offline, it should remain in its current "
410 "state. IE, the request, if unsuccessful, should not leave "
411 "the Device in an indeterminate state. When bringing a "
412 "Device back \"Online\", from an \"Offline\" mode, the "
413 "Device should be restored to its last \"Online\" state, if "
414 "at all possible. Only a Device that has an "
415 "EnabledState/StatusInfo of \"Enabled\" and has been "
416 "configured can be brought online or taken offline. \n"
417 "OnlineDevice should return 0 if successful, 1 if the "
418 "request is not supported at all, 2 if the request is not "
419 "supported due to the current state of the Device, and some "
420 "other value if any other error occurred. In a subclass, the "
421 tony 1.1 "set of possible return codes could be specified, using a "
422 "ValueMap qualifier on the method. The strings to which the "
423 "ValueMap contents are 'translated' may also be specified in "
424 "the subclass as a Values array qualifier. \n"
425 "Note that this method's function overlaps with the "
426 "RequestedState property. RequestedState was added to the "
427 "model to maintain a record (i.e., a persisted value) of the "
428 "last state request. Invoking the OnlineDevice method should "
429 "set the RequestedState property appropriately.")]
430 uint32 OnlineDevice(
431 [IN, Description (
432 "If TRUE, take the device online, if FALSE, take the "
433 "device OFFLINE.")]
434 boolean Online);
435
436 [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" },
437 Description (
438 "The QuiesceDevice method has been deprecated in lieu of the "
439 "more general RequestStateChange method that directly "
440 "overlaps with the functionality provided by this method. \n"
441 "Requests that the LogicalDevice cleanly cease all current "
442 tony 1.1 "activity (\"Quiesce\" input parameter = TRUE) or resume "
443 "activity (= FALSE). For this method to quiesce a Device, "
444 "that Device should have an Availability (or Additional "
445 "Availability) of \"Running/Full Power\" (value=3) and an "
446 "EnabledStatus/StatusInfo of \"Enabled\". For example, if "
447 "quiesced, a Device may then be offlined for diagnostics, or "
448 "disabled for power off and hot swap. For the method to "
449 "\"unquiesce\" a Device, that Device should have an "
450 "Availability (or AdditionalAvailability) of \"Quiesced\" "
451 "(value=21) and an EnabledStatus/StatusInfo of \"Enabled\". "
452 "In this case, the Device would be returned to an "
453 "\"Enabled\" and \"Running/Full Power\" status. \n"
454 "The method's return code should indicate the success or "
455 "failure of the quiesce. It should return 0 if successful, 1 "
456 "if the request is not supported at all, 2 if the request is "
457 "not supported due to the current state of the Device, and "
458 "some other value if any other error occurred. In a "
459 "subclass, the set of possible return codes could be "
460 "specified, using a ValueMap qualifier on the method. The "
461 "strings to which the ValueMap contents are 'translated' may "
462 "also be specified in the subclass as a Values array "
463 tony 1.1 "qualifier.")]
464 uint32 QuiesceDevice(
465 [IN, Description (
466 "If set to TRUE then cleanly cease all activity, if FALSE "
467 "resume activity.")]
468 boolean Quiesce);
469
470 [Description (
471 "Requests that the Device capture its current configuration, "
472 "setup and/or state information in a backing store. The goal "
473 "would be to use this information at a later time (via the "
474 "RestoreProperties method), to return a Device to its "
475 "present \"condition\". This method may not be supported by "
476 "all Devices. The method should return 0 if successful, 1 if "
477 "the request is not supported, and some other value if any "
478 "other error occurred. In a subclass, the set of possible "
479 "return codes could be specified, using a ValueMap qualifier "
480 "on the method. The strings to which the ValueMap contents "
481 "are 'translated' may also be specified in the subclass as a "
482 "Values array qualifier.")]
483 uint32 SaveProperties();
484 tony 1.1
485 [Description (
486 "Requests that the Device re-establish its configuration, "
487 "setup and/or state information from a backing store. The "
488 "intent is to capture this information at an earlier time "
489 "(via the SaveProperties method), and use it to return a "
490 "Device to this earlier \"condition\". This method may not "
491 "be supported by all Devices. The method should return 0 if "
492 "successful, 1 if the request is not supported, and some "
493 "other value if any other error occurred. In a subclass, the "
494 "set of possible return codes could be specified, using a "
495 "ValueMap qualifier on the method. The strings to which the "
496 "ValueMap contents are 'translated' may also be specified in "
497 "the subclass as a Values array qualifier.")]
498 uint32 RestoreProperties();
499 };
500
501
502 // ==================================================================
503 // Realizes
504 // ==================================================================
505 tony 1.1 [Association, Version ( "2.6.0" ), Description (
506 "CIM_Realizes is the association that defines the mapping "
507 "between LogicalDevices and the PhysicalElements that implement "
508 "them.")]
509 class CIM_Realizes : CIM_Dependency {
510
511 [Override ( "Antecedent" ), Description (
512 "The physical component that implements the Device.")]
513 CIM_PhysicalElement REF Antecedent;
514
515 [Override ( "Dependent" ), Description (
516 "The LogicalDevice.")]
517 CIM_LogicalDevice REF Dependent;
518 };
519
520
521 // ==================================================================
522 // SystemDevice
523 // ==================================================================
524 [Association, Aggregation, Composition, Version ( "2.7.0" ),
525 Description (
526 tony 1.1 "LogicalDevices may be aggregated by a System. This "
527 "relationship is made explicit by the SystemDevice association.")]
528 class CIM_SystemDevice : CIM_SystemComponent {
529
530 [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ),
531 Description (
532 "The parent system in the Association.")]
533 CIM_System REF GroupComponent;
534
535 [Override ( "PartComponent" ), Weak, Description (
536 "The LogicalDevice that is a component of a System.")]
537 CIM_LogicalDevice REF PartComponent;
538 };
539
540
541 // ===================================================================
542 // DeviceServiceImplementation
543 // ===================================================================
544 [Association, Version ( "2.6.0" ), Description (
545 "An association between a Service and how it is implemented. "
546 "The cardinality of this association is many-to-many. A Service "
547 tony 1.1 "may be provided by more than one Logical Device, operating in "
548 "conjunction. And, any Device may provide more than one "
549 "Service. When multiple Devices are associated with a single "
550 "Service, it is assumed that these elements operate in "
551 "conjunction to provide the Service. If different "
552 "implementations of a Service exist, each of these "
553 "implementations would result in individual instantiations of "
554 "the Service object. These individual instantiations would then "
555 "have associations to the unique implementations.")]
556 class CIM_DeviceServiceImplementation : CIM_Dependency {
557
558 [Override ( "Antecedent" ), Description (
559 "The LogicalDevice.")]
560 CIM_LogicalDevice REF Antecedent;
561
562 [Override ( "Dependent" ), Description (
563 "The Service implemented using the Logical Device.")]
564 CIM_Service REF Dependent;
565 };
566
567
568 tony 1.1 // ===================================================================
569 // DeviceSAPImplementation
570 // ===================================================================
571 [Association, Version ( "2.6.0" ), Description (
572 "An association between a ServiceAccessPoint and how it is "
573 "implemented. The cardinality of this association is "
574 "many-to-many. A SAP may be provided by more than one "
575 "LogicalDevice, operating in conjunction. And, any Device may "
576 "provide more than one ServiceAccessPoint. When many "
577 "LogicalDevices are associated with a single SAP, it is assumed "
578 "that these elements operate in conjunction to provide the "
579 "AccessPoint. If different implementations of a SAP exist, each "
580 "of these implementations would result in individual "
581 "instantiations of the ServiceAccessPoint object. These "
582 "individual instantiations would then have associations to the "
583 "unique implementations.")]
584 class CIM_DeviceSAPImplementation : CIM_Dependency {
585
586 [Override ( "Antecedent" ), Description (
587 "The LogicalDevice.")]
588 CIM_LogicalDevice REF Antecedent;
589 tony 1.1
590 [Override ( "Dependent" ), Description (
591 "The ServiceAccessPoint implemented using the LogicalDevice.")]
592 CIM_ServiceAccessPoint REF Dependent;
593 };
594
595 // ===================================================================
596 // end of file
597 // ===================================================================
|