1 kumpf 1.2 // ===================================================================
2 // Title: System Processing 2.7
3 // Filename: System27_Processing.mof
4 // Version: 2.7.0
5 // Release: Final
6 // Date: 04/15/03
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.
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 kumpf 1.2 // 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 kumpf 1.2 // ===================================================================
44 // Description: The System Model defines system related management
45 // concepts. This file defines the specific concepts to
46 // manage processes, threads, and jobs.
47 //
48 // The object classes below are listed in an order that
49 // avoids forward references. Required objects, defined
50 // by other working groups, are omitted.
51 // ==================================================================
52 // Change Log for v2.7 Final
53 // CR988 - Update description and change subclassing of JobDestination
54 // CR994 - Update the description of InstanceID
55 // CR989 - Updates to the description and name of ScheduledJob
56 // CR969 - Remove the experimental qualifier
57 // - Remove JobScheduleSettingData so it can remain experimental
58 // in 2.8.
59 //
60 // Change Log for v2.7
61 // CR757 - Change the subclassing of Process, Thread and Job from
62 // LogicalElement to EnabledLogicalElement
63 // CR767 - Add the Compostion qualifer to OSProcess and ProcessThread
64 kumpf 1.2 // CR768 - Add ScheduledJob
65 // - Update class description and all property descriptions of
66 // Job, and Add a new property ScheduledStartTime to Job
67 // - Add OwningJobElement
68 // - Add AffectedJobElement
69 // - Add ConcreteJob
70 // - Add ProcessOfJob
71 // CR875 - Clarify description of Process .KernelModeTime and
72 // .UserModeTime
73 // ==================================================================
74
75 #pragma locale ("en_US")
76
77
78 // ===================================================================
79 // Process
80 // ===================================================================
81 [Version ("2.7.0"), Description (
82 "Each instance of the CIM_Process class represents a single "
83 "instance of a running program. A user of the OperatingSystem "
84 "will typically see a Process as an application or task. Within "
85 kumpf 1.2 "an OperatingSystem, a Process is defined by a workspace of "
86 "memory resources and environmental settings that are allocated "
87 "to it. On a multitasking System, this workspace prevents "
88 "intrusion of resources by other Processes. Additionally, a "
89 "Process can execute as multiple Threads, all which run within "
90 "the same workspace.") ]
91 class CIM_Process : CIM_EnabledLogicalElement {
92 [Propagated("CIM_OperatingSystem.CSCreationClassName"),
93 Key, MaxLen (256), Description (
94 "The scoping ComputerSystem's ""CreationClassName.") ]
95 string CSCreationClassName;
96
97 [Propagated("CIM_OperatingSystem.CSName"),
98 Key, MaxLen (256), Description (
99 "The scoping ComputerSystem's Name.") ]
100 string CSName;
101
102 [Propagated("CIM_OperatingSystem.CreationClassName"),
103 Key, MaxLen (256), Description (
104 "The scoping OperatingSystem's CreationClassName.") ]
105 string OSCreationClassName;
106 kumpf 1.2
107 [Propagated("CIM_OperatingSystem.Name"),
108 Key, MaxLen (256), Description (
109 "The scoping OperatingSystem's Name.") ]
110 string OSName;
111
112 [Key, MaxLen (256), Description (
113 "CreationClassName indicates the name of the class or the "
114 "subclass used in the creation of an instance. When used "
115 "with the other key properties of this class, this property "
116 "allows all instances of this class and its subclasses to "
117 "be uniquely identified.") ]
118 string CreationClassName;
119
120 [Key, MaxLen (256), Description (
121 "A string used to identify the Process. A Process ID is a "
122 "kind of Process Handle."),
123 MappingStrings {"MIF.DMTF|Process Information|001.1"} ]
124 string Handle;
125
126 [Override ("Name"), Description(
127 kumpf 1.2 "The name of the process."),
128 MappingStrings {"MIF.DMTF|Process Information|001.6"} ]
129 string Name;
130
131 [Description (
132 "Priority indicates the urgency or importance of execution "
133 "of a Process. If a priority is not defined for a Process, "
134 "a value of 0 should be used."),
135 MappingStrings {"MIF.DMTF|Process Information|001.10"} ]
136 uint32 Priority;
137
138 [Description (
139 "Indicates the current operating condition of the Process. "
140 "Values include ready (2), running (3), and blocked (4), "
141 "among others."),
142 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},
143 Values {"Unknown", "Other", "Ready", "Running",
144 "Blocked", "Suspended Blocked", "Suspended Ready",
145 "Terminated", "Stopped", "Growing" },
146 MappingStrings {"MIF.DMTF|Process Information|001.9",
147 "MIF.UNIX|Process Information|13.9"} ]
148 kumpf 1.2 uint16 ExecutionState;
149
150 [Description (
151 "A string describing the state - used when the instance's "
152 "ExecutionState property is set to 1 (\"Other\"). Other"
153 "ExecutionDescription should be set to NULL when the Execution"
154 "State property is any value other than 1.") ]
155 string OtherExecutionDescription;
156
157 [Description (
158 "Time that the Process began executing.") ]
159 datetime CreationDate;
160
161 [Description (
162 "Time that the Process was stopped or terminated.") ]
163 datetime TerminationDate;
164
165 [Description (
166 "Time in kernel mode, in milliseconds. If this information "
167 "is not available, or if the operating system does not "
168 "distinguish between time in kernel and in user mode, "
169 kumpf 1.2 "a value of 0 should be used."),
170 Units("MilliSeconds"),
171 MappingStrings {"MIF.DMTF|Process Information|001.13"} ]
172 uint64 KernelModeTime;
173
174 [Description (
175 "Time in user mode, in milliseconds. If this information "
176 "is not available, a value of 0 should be used. "
177 "If the operating system does not distinguish between "
178 "time in kernel mode and user mode, the time should be "
179 "returned in this property."),
180 Units("MilliSeconds"),
181 MappingStrings {"MIF.DMTF|Process Information|001.14"} ]
182 uint64 UserModeTime;
183
184 [Gauge, Description (
185 "The amount of memory in bytes that a Process needs to "
186 "execute efficiently, for an OperatingSystem that uses "
187 "page-based memory management. If an insufficient amount "
188 "of memory is available (< working set size), thrashing "
189 "will occur. If this information is not known, NULL or 0 "
190 kumpf 1.2 "should be entered. If this data is provided, it could be "
191 "monitored to understand a Process' changing memory "
192 "requirements as execution proceeds."),
193 Units ("Bytes") ]
194 uint64 WorkingSetSize;
195 };
196
197
198 // ===================================================================
199 // OSProcess
200 // ===================================================================
201 [Association, Aggregation, Composition, Version ("2.7.0"), Description (
202 "A link between the OperatingSystem and Process(es) running "
203 "in the context of this OperatingSystem.") ]
204 class CIM_OSProcess : CIM_Component {
205
206 [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
207 Description ("The OperatingSystem.") ]
208 CIM_OperatingSystem REF GroupComponent;
209
210 [Override ("PartComponent"), Weak, Description (
211 kumpf 1.2 "The Process running in the context of the "
212 "OperatingSystem.") ]
213 CIM_Process REF PartComponent;
214 };
215
216
217 // ===================================================================
218 // ProcessExecutable
219 // ===================================================================
220 [Association, Version ("2.6.0"), Description (
221 "A link between a Process and a DataFile indicating that the "
222 "File participates in the execution of the Process.") ]
223 class CIM_ProcessExecutable : CIM_Dependency {
224
225 [Override ("Antecedent"), Description (
226 "The DataFile participating in the execution of the Process.") ]
227 CIM_DataFile REF Antecedent;
228
229 [Override ("Dependent"), Description (
230 "The Process.") ]
231 CIM_Process REF Dependent;
232 kumpf 1.2 };
233
234
235 // ==================================================================
236 // ServiceProcess
237 // ==================================================================
238 [Association, Version ("2.6.0"), Description (
239 "CIM_ServiceProcess is an association used to establish "
240 "relationships between Services and Processes. "
241 "It is used to indicate if a Service is running in a particular "
242 "Process. It is also used to indicate, via the ExecutionType "
243 "property, if the Service started and is wholly responsible for "
244 "the Process, or if the Service is running in an existing "
245 "Process, perhaps with other unrelated Services, which is owned "
246 "or started by a different entity. This association relates "
247 "a Service with an externally visible system signature. ") ]
248 class CIM_ServiceProcess {
249
250 [Key, Description (
251 "The Service whose Process is described by this "
252 "association.") ]
253 kumpf 1.2 CIM_Service REF Service;
254
255 [Key, Description (
256 "The Process which represents or hosts the executing "
257 "Service. " ) ]
258 CIM_Process REF Process;
259
260 [Description(
261 "Enumeration indicating how the Service runs in the context "
262 "of, or owns the Process. \"Unknown\" indicates that the "
263 "ExecutionType is not known. \"Other\" indicates that the "
264 "ExecutionType does not match any of the values in the "
265 "ExecutionType enumeration. \"Executes in Existing Process\" "
266 "indicates that the Service is hosted in a Process that "
267 "already exists in the system. The lifecycle of the "
268 "Service is separate from that of the Process. "
269 "\"Exeutes as Independent Process\" indicates that the "
270 "Service is responsible for the lifecycle of the Process. "
271 "When the Service is started, the Process is created. "
272 "For example, ServletEngines can run \"InProcess\" "
273 "within the existing Apache processes or \"OutOfProcess\" in "
274 kumpf 1.2 "its own servlet engine process. In this case the Apache "
275 "process would communicate with the servlet engine process "
276 "based on the content of the request. The association may "
277 "be many to many." ),
278 ValueMap {"0", "1", "2", "3"},
279 Values {"Unknown", "Other", "Executes in Existing Process",
280 "Executes as Independent Process" } ]
281 uint16 ExecutionType;
282 };
283
284 // ===================================================================
285 // Thread
286 // ===================================================================
287 [Version ("2.7.0"), Description (
288 "Threads represent the ability to execute units of a Process "
289 "or task in parallel. A Process can have many Threads, each "
290 "of which is weak to the Process.") ]
291 class CIM_Thread : CIM_EnabledLogicalElement {
292
293 [Propagated("CIM_Process.CSCreationClassName"),
294 Key, MaxLen (256), Description (
295 kumpf 1.2 "The scoping ComputerSystem's CreationClassName.") ]
296 string CSCreationClassName;
297
298 [Propagated("CIM_Process.CSName"),
299 Key, MaxLen (256), Description (
300 "The scoping ComputerSystem's Name.") ]
301 string CSName;
302
303 [Propagated("CIM_Process.OSCreationClassName"),
304 Key, MaxLen (256), Description (
305 "The scoping OperatingSystem's CreationClassName.") ]
306 string OSCreationClassName;
307
308 [Propagated("CIM_Process.OSName"),
309 Key, MaxLen (256), Description (
310 "The scoping OperatingSystem's Name.") ]
311 string OSName;
312
313 [Propagated("CIM_Process.CreationClassName"),
314 Key, MaxLen (256), Description (
315 "The scoping Process' CreationClassName.") ]
316 kumpf 1.2 string ProcessCreationClassName;
317
318 [Propagated("CIM_Process.Handle"),
319 Key, MaxLen (256), Description (
320 "The scoping Process' Handle.") ]
321 string ProcessHandle;
322
323 [Key, MaxLen(256), Description (
324 "CreationClassName indicates the name of the class or the "
325 "subclass used in the creation of an instance. When used "
326 "with the other key properties of this class, this property "
327 "allow all instances of this class and its subclasses to "
328 "be uniquely identified.") ]
329 string CreationClassName;
330
331 [Key, MaxLen(256),
332 Description ("A string used to identify the Thread.") ]
333 string Handle;
334
335 [Description (
336 "Priority indicates the urgency or importance of execution "
337 kumpf 1.2 "of a Thread. A Thread may have a different priority than "
338 "its owning Process. If this information is not available "
339 "for a Thread, a value of 0 should be used.") ]
340 uint32 Priority;
341
342 [Description (
343 "Indicates the current operating condition of the Thread. "
344 "Values include ready (2), running (3), and blocked (4), "
345 "among others."),
346 ValueMap {"0", "1", "2", "3", "4", "5", "6"},
347 Values {"Unknown", "Other", "Ready", "Running",
348 "Blocked", "Suspended Blocked", "Suspended Ready"} ]
349 uint16 ExecutionState;
350
351 [Description (
352 "Time in kernel mode, in milliseconds. If this information "
353 "is not available, a value of 0 should be used."),
354 Units("MilliSeconds") ]
355 uint64 KernelModeTime;
356
357 [Description (
358 kumpf 1.2 "Time in user mode, in milliseconds. If this information is "
359 "not available, a value of 0 should be used."),
360 Units("MilliSeconds") ]
361 uint64 UserModeTime;
362 };
363
364
365 // ===================================================================
366 // ProcessThread
367 // ===================================================================
368 [Association, Aggregation, Composition, Version ("2.7.0"), Description (
369 "A link between a Process and the Thread(s) running in the "
370 "context of this Process.") ]
371 class CIM_ProcessThread : CIM_Component {
372
373 [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
374 Description ("The Process.") ]
375 CIM_Process REF GroupComponent;
376
377 [Override ("PartComponent"), Weak,
378 Description (
379 kumpf 1.2 "The Thread running in the context of the Process.") ]
380 CIM_Thread REF PartComponent;
381 };
382
383
384 // ===================================================================
385 // Job
386 // ===================================================================
387 [Abstract, Version ("2.7.0"), Description (
388 "A Job is a LogicalElement representing an executing unit of work, "
389 "such as a script or a print job. A Job is distinct from a Process "
390 "in that a Job can be scheduled, queued, and its execution is not "
391 "limited to a single system.") ]
392 class CIM_Job : CIM_LogicalElement {
393
394 [Description (
395 "A free form string representing the Job's status. "
396 "The primary status is reflected in the inherited "
397 "OperationalStatus property. JobStatus provides additional, "
398 "implementation-specific details."),
399 ModelCorrespondence {
400 kumpf 1.2 "ManagedSystemElement.OperationalStatus"} ]
401 string JobStatus;
402
403 [Description (
404 "The time that the Job was submitted to execute. A value of all "
405 "zeroes indicates that the owning element is not capable of "
406 "reporting a date and time. Therefore, the ScheduledStartTime "
407 "and StartTime are reported as intervals relative to the time "
408 "their values are requested.") ]
409 datetime TimeSubmitted;
410
411 [Write, Description (
412 "The time that the current Job is scheduled to start. This may "
413 "be represented by the actual date and time, or an interval "
414 "relative to the time that this property is requested. A value "
415 "of all zeroes indicates that the Job is already executing.") ]
416 datetime ScheduledStartTime;
417
418 [Description (
419 "The time that the Job was actually started. This "
420 "may be represented by an actual date and time, or by an "
421 kumpf 1.2 "interval relative to the time that this property is requested.") ]
422 datetime StartTime;
423
424 [Description (
425 "The time interval that the Job has been executing or the "
426 "total execution time if the Job is complete.") ]
427 datetime ElapsedTime;
428
429 [Write, Description (
430 "The time after which the Job is invalid or should be "
431 "stopped. This may be represented by an actual date and time, "
432 "or by an interval relative to the time that this property is "
433 "requested. A value of all nines indicates that the Job "
434 "can run indefinitely.") ]
435 datetime UntilTime;
436
437 [Write, Description (
438 "User to be notified upon the Job completion or failure.") ]
439 string Notify;
440
441 [Description (
442 kumpf 1.2 "The User that submitted the Job or the Service/method name/etc. "
443 "that caused the job to be created."),
444 ModelCorrespondence {"CIM_OwningJobElement"} ]
445 string Owner;
446
447 [Write, Description (
448 "Indicates the urgency or importance of execution of the "
449 "Job. The lower the number, the higher the priority.") ]
450 uint32 Priority;
451
452 [Description(
453 "The percentage of the job that has completed at the time "
454 "that this value is requested. "),
455 MaxValue (101), MinValue (0), Units ("Percent") ]
456 uint16 PercentComplete;
457
458 [Write, Description(
459 "Indicates whether or not the job should be automatically "
460 "deleted upon completion. If this property is set to false"
461 "and the job completes, then the extrinsic method DeleteInstance"
462 "MUST be used to delete the job versus updating this property.") ]
463 kumpf 1.2 boolean DeleteOnCompletion;
464
465 [Description(
466 "A vendor specific error code. This will be set to zero "
467 "if the job completed without error."),
468 ModelCorrespondence {"CIM_Job.ErrorDescription"} ]
469 uint16 ErrorCode;
470
471 [Description(
472 "A free form string containing the vendor error "
473 "description."),
474 ModelCorrespondence {"CIM_Job.ErrorCode"} ]
475 string ErrorDescription;
476
477 [Description(
478 "A method to kill this job and any underlying processes, and "
479 "to remove any 'dangling' associations."),
480 ValueMap {"0", "1", "2", "3", "4", "6", "7",
481 "..", "32768..65535"},
482 Values {"Success", "Not Supported", "Unknown", "Timeout",
483 "Failed", "Access Denied", "Not Found", "DMTF Reserved",
484 kumpf 1.2 "Vendor Specific"} ]
485 uint32 KillJob(
486 [IN, Description ("Indicates whether or not the Job "
487 "should be automatically deleted upon termination. "
488 "This parameter takes precedence over the property, "
489 "DeleteOnCompletion.") ]
490 boolean DeleteOnKill);
491 };
492
493
494 // ===================================================================
495 // OwningJobElement
496 // ===================================================================
497 [Association, Version ("2.7.0"), Description (
498 "OwningJobElement represents an association between a Job and the "
499 "ManagedElement responsible for the creation of the Job. This "
500 "association may not be possible, given that the execution of "
501 "jobs can move between systems and that the lifecycle of the "
502 "creating entity may not persist for the total duration of the "
503 "job. However, this can be very useful information when "
504 "available. This association defines a more specific 'owner' "
505 kumpf 1.2 "than is provided by the CIM_Job.Owner string." ),
506 ModelCorrespondence {"CIM_Job.Owner"} ]
507 class CIM_OwningJobElement {
508
509 [Key, Max(1), Description (
510 "The ManagedElement responsible for the creation of the "
511 "Job.") ]
512 CIM_ManagedElement REF OwningElement;
513
514 [Key, Description (
515 "The Job created by the ManagedElement.") ]
516 CIM_Job REF OwnedElement;
517 };
518
519
520 // ===================================================================
521 // AffectedJobElement
522 // ===================================================================
523 [Association, Version ("2.7.0"), Description (
524 "AffectedJobElement represents an association between a Job and "
525 "the ManagedElement(s) that may be affected by its execution. "
526 kumpf 1.2 "It may not be feasible for the Job to describe all of "
527 "the affected elements. The main purpose of this association is "
528 "to provide information when a Job requires exclusive use "
529 "of the 'affected' ManagedElment(s) or when describing that side "
530 "effects may result. ") ]
531 class CIM_AffectedJobElement {
532
533 [Key, Description (
534 "The ManagedElement affected by the execution of the Job.") ]
535 CIM_ManagedElement REF AffectedElement;
536
537 [Key, Description (
538 "The Job that is affecting the ManagedElement.") ]
539 CIM_Job REF AffectingElement;
540
541 [Description (
542 "An enumeration describing the 'effect' on the "
543 "ManagedElement. This array corresponds to the "
544 "OtherElementEffectsDescriptions array, where the "
545 "latter provides details related to the high-level "
546 "'effects' enumerated by this property. Additional "
547 kumpf 1.2 "detail is required if the ElementEffects array contains "
548 "the value 1, \"Other\"."),
549 ArrayType ("Indexed"),
550 ValueMap {"0", "1", "2", "3", "4"},
551 Values {"Unknown", "Other", "Exclusive Use", "Performance Impact",
552 "Element Integrity"},
553 ModelCorrespondence {
554 "CIM_AffectedJobElement.OtherElementEffectsDescriptions"}]
555 uint16 ElementEffects[];
556
557 [Description (
558 "Provides details for the 'effect' at the corresponding array "
559 "position in ElementEffects. This information is required "
560 "whenever ElementEffects contains the value 1 (\"Other\")."),
561 ArrayType ("Indexed"),
562 ModelCorrespondence {"CIM_AffectedJobElement.ElementEffects"}]
563 string OtherElementEffectsDescriptions[];
564 };
565
566
567 // ===================================================================
568 kumpf 1.2 // ConcreteJob
569 // ===================================================================
570 [Version("2.7.0"), Description (
571 "A concrete version of Job. This class represents a generic and "
572 "instantiable unit of work, such as a batch or a print job.") ]
573 class CIM_ConcreteJob : CIM_Job {
574
575 [Key, Description (
576 "Within the scope of the instantiating Namespace, InstanceID "
577 "opaquely and uniquely identifies an instance of this class. "
578 "In order to ensure uniqueness within the NameSpace, the "
579 "value of InstanceID SHOULD be constructed using the "
580 "following 'preferred' algorithm: \n"
581 " <OrgID>:<LocalID> \n"
582 "Where <OrgID> and <LocalID> are separated by a colon ':', "
583 "and where <OrgID> MUST include a copyrighted, trademarked "
584 "or otherwise unique name that is owned by the business entity "
585 "creating/defining the InstanceID, or is a registered ID that is "
586 "assigned to the business entity by a recognized global "
587 "authority (This is similar to the <Schema Name>_<Class Name> "
588 "structure of Schema class names.) In addition, to ensure "
589 kumpf 1.2 "uniqueness <OrgID> MUST NOT contain a colon (':'). When using "
590 "this algorithm, the first colon to appear in "
591 "InstanceID MUST appear between <OrgID> and <LocalID>. \n"
592 " <LocalID> is chosen by the business entity and SHOULD not be "
593 "re-used to identify different underlying (real-world) elements. "
594 "If the above 'preferred' algorithm is not used, the defining "
595 "entity MUST assure that the resultant InstanceID is not "
596 "re-used across any InstanceIDs produced by this or other "
597 "providers for this instance's NameSpace. \n"
598 "For DMTF defined instances, the 'preferred' algorithm MUST be "
599 "used with the <OrgID> set to 'CIM'.") ]
600 string InstanceID;
601
602 [Override ("Name"), Required, Description (
603 "The user friendly name for this instance of Job. "
604 "In addition, the user friendly name can be used as a "
605 "property for a search or query. (Note: Name "
606 "does not have to be unique within a namespace.)") ]
607 string Name;
608 };
609
610 kumpf 1.2
611 // ===================================================================
612 // ProcessOfJob
613 // ===================================================================
614 [Association, Aggregation, Composition,
615 Version ("2.7.0"), Description (
616 "ProcessOfJob describes that the referenced Process is the "
617 "result of the execution of the Job. A Job may cause "
618 "multiple Processes to run, perhaps on different operating "
619 "systems. This is allowed by the '*' cardinality of the "
620 "Process reference. Note that a Process can result from "
621 "only one Job - hence, the '0..1' cardinality on Job.") ]
622 class CIM_ProcessOfJob : CIM_Component {
623
624 [Override ("GroupComponent"), Aggregate, Description (
625 "Execution of the Job results in the creation of the Process "
626 "referenced as PartComponent. The Job aggregates the "
627 "Process(es) that are created when it is executed.") ]
628 CIM_Job REF GroupComponent;
629
630 [Override ("PartComponent"), Description (
631 kumpf 1.2 "The Process that results from the execution of the Job.") ]
632 CIM_Process REF PartComponent;
633 };
634
635
636 // ===================================================================
637 // JobDestination
638 // ===================================================================
639 [Version ("2.7.0"), Description (
640 "JobDestination is an EnabledLogicalElement representing where a Job "
641 "is submitted for processing. It can refer to a queue that "
642 "contains zero or more Jobs, such as a print queue containing "
643 "print Jobs. JobDestinations are hosted on Systems, similar to "
644 "the way that Services are hosted on Systems. Also, they "
645 "may be enabled/disabled similar to Services.") ]
646 class CIM_JobDestination : CIM_EnabledLogicalElement {
647
648 [Propagated ("CIM_System.CreationClassName"),
649 Key, MaxLen (256), Description (
650 "The scoping System's CreationClassName.") ]
651 string SystemCreationClassName;
652 kumpf 1.2
653 [Propagated ("CIM_System.Name"),
654 Key, MaxLen (256), Description (
655 "The scoping System's Name.") ]
656 string SystemName;
657
658 [Key, MaxLen (256), Description (
659 "CreationClassName indicates the name of the class or the "
660 "subclass used in the creation of an instance. When used "
661 "with the other key properties of this class, this property "
662 "allows all instances of this class and its subclasses to "
663 "be uniquely identified.") ]
664 string CreationClassName;
665
666 [Override ("Name"), Key, MaxLen (256), Description (
667 "The inherited Name serves as key of a JobDestination "
668 "instance in a System.") ]
669 string Name;
670 };
671
672
673 kumpf 1.2 // ===================================================================
674 // HostedJobDestination
675 // ===================================================================
676 [Association, Version ("2.6.0"), Description (
677 "An association between a JobDestination and a System on "
678 "which it resides. The cardinality of this association is "
679 "1-to-many. A System may host many Job queues. Job"
680 "Destinations are weak with respect to their hosting System. "
681 "Heuristic: A JobDestination is hosted on the System where the "
682 "LogicalDevices, SoftwareFeatures or Services that implement/"
683 "provide the JobDestination are located.") ]
684 class CIM_HostedJobDestination : CIM_Dependency {
685
686 [Override ("Antecedent"), Min (1), Max (1), Description (
687 "The hosting System.") ]
688 CIM_System REF Antecedent;
689
690 [Override ("Dependent"), Weak, Description (
691 "The JobDestination hosted on the System.") ]
692 CIM_JobDestination REF Dependent;
693 };
694 kumpf 1.2
695
696 // ===================================================================
697 // JobDestinationJobs
698 // ===================================================================
699 [Association, Version ("2.6.0"), Description (
700 "An association describing where a Job is submitted for "
701 "processing, ie to which JobDestination.") ]
702 class CIM_JobDestinationJobs : CIM_Dependency {
703
704 [Override ("Antecedent"), Max (1), Description (
705 "The JobDestination, possibly a queue.") ]
706 CIM_JobDestination REF Antecedent;
707
708 [Override ("Dependent"),
709 Description ("The Job that is in the Job queue/Destination.") ]
710 CIM_Job REF Dependent;
711 };
712
713
714 // ===================================================================
715 kumpf 1.2 // end of file
716 // ===================================================================
|