1 tony 1.1 // ==================================================================
2 // Title: Metrics MOF Specification 2.8, Unit of Work Metrics
3 // Author: DMTF Application Working Group
4 // Filename: Metrics28_UnitofWork.MOF
5 // Version 2.8.0
6 // Status: Preliminary
7 // Date: 23 May 2003
8 // ===================================================================
9 // Copyright 2001-2003 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 tony 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 tony 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 // ===================================================================
45 // Description: This Schema includes the object classes required to
46 // model
47 // CIM's Unit of Work Metrics, specifically the concepts
48 // of UnitOfWork (executing and definitional), the metrics
49 // associated with UnitsOfWork, and the relationships necessary
50 // to associate definitions and metrics to an executing
51 // UnitOfWork and to associate UnitsOfWork to
52 // LogicalElements.
53 //
54 // The object classes below are listed in an order that
55 // avoids forward references. Required objects, defined
56 // by other working groups, are omitted.
57 // ===================================================================
58 // CHANGE HISTORY
59 // CIM 2.8 (Preliminary) - None
60 //
61 // CIM 2.7.0 Final (12 February 2003)
62 // CR 987: remove experimental qualifier from
63 // -CIM_UnitOfWorkDefinition.TraceLevelTypeId
64 tony 1.1 // -CIM_TraceLevelType
65 // -CIM_UnitOfWork.TraceLevel
66 // -CIM_UnitOfWork.MutualContextId
67 // -CIM_UoWDefTraceLevelType
68 //
69 // CIM 2.7.1 Preliminary (12 November 2002)
70 // CR 920: Add missing parenthesis to the Description for
71 // TraceLevelType.BaseType
72 //
73 // CIM 2.7.0 Preliminary ( 6 June 2002)
74 // CR 818: Add TraceLevel functionality with following changes:
75 // uint16 CIM_UnitOfWork.TraceLevel
76 // string CIM_UnifOfWorkDefinition.TraceLevelTypeId
77 // class CIM_TraceLevelType
78 // Association between UnitOfWorkDefinition and TraceLevelType
79 // CR 819: Add MutualContextID to UnitOfWork. The context
80 // is defined as an individual action several UnitOfWork
81 // instances participate in.
82 // CR 820: MetricDefinition: inheritance changed to
83 // BaseMetricDefinition, deleted inherited properties and
84 // restricted inherited key to MaxLen(16) for compatibility
85 tony 1.1 // CR 864: Change the superclassing and reference names of the
86 // UoWDefTraceLevelType association
87 //
88 // CIM 2.6.0 (Final) Feb 15 2002
89 // CR636 - Replaced the Weak Qualifier from the association
90 // StartedUoW that was removed in error in Version 2.5
91 // CR746- Add Version Qualifier to all classes with version 2.6.0
92 // per TC agreement to start versioning in 2.6 Final.
93 //
94 // CIM 2.6.0 Preliminary and earlier change definitions (May 2001)
95 // Fixed UnitOfWork.UoWDefId Propagated qualifier class name
96 // Removed the Weak qualifier from the association StartedUoW
97 // Fixed some descriptions
98 // Removed Required qualifier from MetricDefinition.Name,
99 // UnitOfWorkDefinition.Name, UnitOfWorkDefinition.Context
100 // --> (the rest of this list were changes made 01 Feb 2000 but
101 // --> not incorporated into DAP24.MOF due to an oversight)
102 // Fixed pragma Locale string
103 // Corrected subclassing of CIM_MetricDefinition and
104 // CIM_UnitOfWork (now subclassed from CIM_ManagedElement)
105 // Fixed grammatical and formatting errors in Descriptions
106 tony 1.1 // Provided information in Descriptions on why associations
107 // were defined as Dependencies
108 // Provided Descriptions where they were missing
109 // Added MaxLen (16) to String Id in UnitOfWorkDefinition
110 // and in MetricDefinition, to enforce the semantics of
111 // the Description
112 // Also added MaxLen (16) to UoWDefId, where the UnitOf
113 // WorkDefinition Id property is propagated to UnitOfWork
114 // Removed the Weak qualifier from the association,
115 // UoWMetricDefinition, and also the Max (1) restriction
116 // (the latter allows reuse of Metrics)
117 // Removed Min (0) from the association, SubUoW, since this
118 // is the default definition
119 //
120 // ==================================================================
121
122 #pragma Locale ("en_US")
123
124
125 // ==================================================================
126 // UnitOfWorkDefinition
127 tony 1.1 // ==================================================================
128 [Version ("2.7.0"), Description (
129 "A LogicalElement that describes units of work (e.g. "
130 "transactions). This class represents the definitional "
131 "components of a unit of work, and not the unit itself.") ]
132 class CIM_UnitOfWorkDefinition : CIM_LogicalElement {
133
134 [Override ("Name"), Description (
135 "The name of the Definition. This name does not have to be "
136 "unique, but should be descriptive. It may contain blanks.") ]
137 string Name;
138
139 [Description (
140 "A free format string describing the context of the defined "
141 "UnitOfWork. For example an 'Add Order' Unit could be "
142 "defined in the context of a book ordering application, "
143 "whereas another 'Add Order' UnitOfWork could be defined for "
144 "a computer ordering application. It may contain blanks.") ]
145 string Context;
146
147 [Key, Description (
148 tony 1.1 "A 16 byte value that uniquely identifies the UnitOfWork "
149 "Definition. The use of OSF UUID/GUIDs is recommended."),
150 MaxLen (16) ]
151 string Id;
152
153 [Description (
154 "A 16 byte value that uniquely identifies the applied "
155 "semantics and format of the trace levels used in the "
156 "instances of UnitOfWork. The use of OSF UUID/GUIDs is "
157 "recommended.\n"
158 "TraceLevelTypeId allows management applications to "
159 "efficiently discriminate between different trace level "
160 "semantics of different UnitOfWorkDefinitions. I.E., "
161 "CIM_UnitOfWork.TraceLevel = 1 may have different semantics "
162 "if TraceLevelTypeId is different for the respective "
163 "instances of UnitOfWork.\n"
164 "It is not assumed that different trace level semantics are "
165 "used within the same UnitOfWorkDefinition in order to "
166 "promote uniform trace level encodings. (Keep in mind: At "
167 "least the developers of the business actions represented by "
168 "the same UnitOfWorkDefinition instance should strive to use "
169 tony 1.1 "the same trace level encoding, otherwise the administrator "
170 "will have a hard time to figure out what detailed "
171 "information to expect.)\n"
172 "If the string is empty no traces are expected to be "
173 "produced. If the string is not empty, an associated "
174 "instance of TraceLevelType may be attached to the "
175 "UnitOfWorkDefinition instance. Still, it is useful to "
176 "incorporate TraceLevelTypeId into UnitOfWorkDefinition, to "
177 "relate to an instance of TraceLevelType. The management "
178 "application can more easily detect different trace level "
179 "types."),
180 MaxLen (16),
181 ModelCorrespondence {"CIM_TraceLevelType.InstanceId"} ]
182 string TraceLevelTypeId;
183 };
184
185
186 // ==================================================================
187 // MetricDefinition
188 // ==================================================================
189 [Version ("2.7.0"), Description (
190 tony 1.1 "The metrics that are associated with a UnitOfWork. These "
191 "metrics usually describe some aspect of a UnitOfWork such as "
192 "how much work was done, or the size of the UnitOfWork. For "
193 "example, the size of a print job or the number of pages "
194 "printed could be metrics of a 'print' UnitOfWork.") ]
195 class CIM_MetricDefinition : CIM_BaseMetricDefinition {
196
197 [Override ("Id"), Description (
198 "A 16 byte value that uniquely identifies the Metric "
199 "Definition. The use of OSF UUID/GUIDs is recommended."),
200 MaxLen (16) ]
201 string Id;
202
203 [Description (
204 "An enumerated value describing when the Metric may be "
205 "considered valid. Some metrics are valid only at the "
206 "beginning of a transaction (e.g., bytes to print), while "
207 "the transaction is running (e.g., percent complete), or "
208 "when the transaction is finished (e.g., pages printed). If "
209 "a metric is valid at more than one of the enumerated "
210 "values, such as both when the unit of work starts and when "
211 tony 1.1 "it stops, it is recommended to not use Validity."),
212 ValueMap {"1", "2", "3"},
213 Values {"At Start", "In Middle", "At Stop"} ]
214 uint16 Validity;
215 };
216
217
218 // ==================================================================
219 // TraceLevelType
220 // ==================================================================
221 [Version ("2.7.0"), Description (
222 "TraceLevelType defines the encoding and semantics of trace "
223 "levels. A trace is data that is produced during the execution "
224 "of program code in order to provide information on the "
225 "behaviour of the code (e.g. textual data written to files). "
226 "Traces may be used for error detection/analysis or debugging. "
227 "Trace levels define the granularity and/or type of the traces "
228 "that are to be produced by the program code. Depending on the "
229 "program implementation, levels may be applied on the fly. The "
230 "possible levels are also implementation dependent, since no "
231 "general rules or standards exist. In consequence, program "
232 tony 1.1 "developers could reuse their existing trace level scheme.\n"
233 "Traces are valuable information sources for management "
234 "applications in cases of error detection/analysis. In order "
235 "to correctly set trace levels to the level needed (exciting "
236 "exhaustive tracing by accident may result in significant "
237 "system resources consumption in terms of processing time and "
238 "storage) and to efficiently interpret which level of detail to "
239 "expect from traces already produced by some resource, the "
240 "possible trace level values and their meaning (semantics) must "
241 "be known by the user and/or the management application. The "
242 "type does not define the location or access method of the "
243 "traces, since traces of a particular type can have multiple "
244 "locations as well as multiple access methods.") ]
245 class CIM_TraceLevelType: CIM_ManagedElement {
246
247 [Key, Description (
248 "A 16 byte value that uniquely identifies the trace level "
249 "type. The use of OSF UUID/GUIDs is recommended."),
250 MaxLen (16),
251 ModelCorrespondence
252 {"CIM_UnitOfWorkDefinition.TraceLevelTypeId"} ]
253 tony 1.1 string InstanceId;
254
255 [Description (
256 "Describes the technical encoding of the trace level.\n"
257 "0: bit map = switches to turn on/off appropriate trace "
258 "production (e.g. 0x00000010, 0x0000F000); the use of bit "
259 "maps implies that the switches can be or-ed bitwise: "
260 "Values[1] | Values[2] | ... .\n"
261 "1: number = plain numbers that define levels (e.g. 1, 2, "
262 "7); the recommended and most common encoding scheme\n"
263 "2: any other encoding scheme you could think of (e.g. "
264 "mixture of bit maps and numbers)."),
265 ValueMap {"1", "2", "3"},
266 Values {"Other", "Bitmap", "Number"} ]
267 uint16 BaseType;
268
269 [Required, Description (
270 "Each entry in the array is one possible value of the trace "
271 "level of this type. Depending on the base type, these are "
272 "either switches defined as bit maps (e.g. 0x00000001, "
273 "0x000000F0, ...) or plain numbers (1, 2, 3, ...). In "
274 tony 1.1 "either encoding, the value 0 is reserved for the equivalent "
275 "of 'no trace'."),
276 ArrayType ("Indexed") ]
277 uint32 TraceValues[];
278
279 [Required, Description (
280 "The index corresponds to TraceLevelType.TraceValues[]. The "
281 "array provides human-readable descriptions of the semantics "
282 "of each value entered in the TraceValues array."),
283 ArrayType ("Indexed") ]
284 string ValueDescriptions[];
285 };
286
287
288 // ==================================================================
289 // UoWMetricDefinition
290 // ==================================================================
291 [Association, Version ("2.6.0"), Description (
292 "An association that describes the Metrics related to a "
293 "UnitOfWorkDefinition. This is a Dependency relationship since "
294 "the MetricDefinition relies on the UnitOfWorkDefinition for "
295 tony 1.1 "context. At least one context must be defined for a "
296 "MetricDefinition, hence the Min (1) qualifier is placed on the "
297 "UnitOfWorkDefinition reference.") ]
298 class CIM_UoWMetricDefinition : CIM_Dependency {
299
300 [Override ("Antecedent"), Min (1), Description (
301 "The UnitOfWorkDefinition where the Metric applies.") ]
302 CIM_UnitOfWorkDefinition REF Antecedent;
303
304 [Override ("Dependent"), Description (
305 "The MetricDefinition for a particular UnitOfWork.") ]
306 CIM_MetricDefinition REF Dependent;
307 };
308
309
310 // ==================================================================
311 // UnitOfWork
312 // ==================================================================
313 [Version ("2.7.0"), Description (
314 "Each instance of UnitOfWork identifies a transaction that is "
315 "either in-process or already completed. Because instances of "
316 tony 1.1 "'in-process' UnitsOfWork can be very short-lived and there can "
317 "be a great number of active ones, use of this class as an "
318 "instrumentation source for determining response time may be "
319 "incorrect or inefficient, unless the rate and duration of the "
320 "UnitsOfWork are known. The intended use is to respond to "
321 "queries about currently active or recently completed "
322 "UnitsOfWork. The length of time that a UnitOfWork instance "
323 "exists after the UnitOfWork completes is not defined and "
324 "should be assumed to be implementation-dependent. This class "
325 "is weak to its definition (CIM_UnitOfWorkDefintion).") ]
326 class CIM_UnitOfWork : CIM_ManagedElement {
327
328 [Override ("Description"), Description (
329 "Since UnitOfWork is designed to be an extremely lightweight "
330 "object, it is recommended that this property not be used. "
331 "The Description specified for the instance's associated "
332 "CIM_UnitOfWorkDefintion should apply.") ]
333 string Description;
334
335 [Key, Description (
336 "The identifier of the UnitOfWork, within the context of the "
337 tony 1.1 "UnitOfWorkDefinition.") ]
338 sint64 Id;
339
340 [Key, Propagated ("CIM_UnitOfWorkDefinition.Id"), Description (
341 "A 16 byte value that uniquely identifies the UnitOfWork "
342 "Definition. The use of OSF UUID/GUIDs is recommended."),
343 MaxLen (16) ]
344 string UoWDefId;
345
346 [Description (
347 "The name of the user who initiated the UnitOfWork. This "
348 "may be a real user's login name or a logical name "
349 "representing an application.") ]
350 string UserName;
351
352 [Description (
353 "The time that the UnitOfWork was started.") ]
354 datetime StartTime;
355
356 [Description (
357 "The elapsed time since the UnitOfWork was started. Upon "
358 tony 1.1 "completion of the UnitOfWork, this property contains the "
359 "total amount of time taken in processing the entire "
360 "UnitOfWork.") ]
361 datetime ElapsedTime;
362
363 [Description (
364 "An enumeration identifing the status of the UnitOfWork. "
365 "Most of the property values are self-explanatory, but a few "
366 "need additional text:\n"
367 "3=\"Completed\" - Should be used to represent a 'completed' "
368 "transaction whose status ('good', 'failed' or 'aborted') is "
369 "unknown.\n"
370 "6=\"Completed Aborted\" - Should be used when a UnitOfWork "
371 "has completed but was not allowed to end normally. An "
372 "example would be when the Stop or Back buttons are selected "
373 "from a web browser, before a page is fully loaded."),
374 ValueMap {"1", "2", "3", "4", "5", "6"},
375 Values {"Active", "Suspended", "Completed", "Completed Good",
376 "Completed Failed", "Completed Aborted"} ]
377 uint16 Status;
378
379 tony 1.1 [Description (
380 "Indicates the granularity at which traces are written for "
381 "this particular instance of UnitOfWork. Traces allow "
382 "providing more detailed information on the course of the "
383 "execution of the UnitOfWork than just the status and the "
384 "elapsed time. The trace level does not indicate where the "
385 "traces are found (i.e. in which file or CIM instances). "
386 "TraceLevel cannot be set (i.e. written) since an instance "
387 "of UnitOfWork only publishes information. So, the "
388 "application code that executes the unit of work must "
389 "receive the desired trace level by its caller (e.g. the "
390 "parent module, the user or some remote system that "
391 "initiates the unit of work).\n"
392 "If its value is 0, no traces are available. If its value "
393 "is > 0, traces are available. Except 0, the possible "
394 "values and their semantics are implementation dependent. "
395 "Two instances of UnitOfWork (even with the same definition) "
396 "may have different trace levels since the desired or "
397 "required granularity of traces may be dependent on the "
398 "execution context (detection of an error, analysis of an "
399 "error, etc.) of the unit of work.\n"
400 tony 1.1 "The trace level can be encoded as a bit map (each "
401 "individual bit indicates a certain trace type and/or level "
402 "of detail) or numbers (that are further defined by a value "
403 "map). No encoding scheme is imposed since no general rules "
404 "or standards exist and in consequence, application "
405 "developers could reuse their existing trace level scheme.") ]
406 uint32 TraceLevel;
407
408 [Description (
409 "A string that uniquely identifies the mutual context of "
410 "UnitOfWork instances. The context is defined as an "
411 "individual action that several UnitOfWork instances "
412 "participate in. The use of Ids such as OSF UUID/GUIDs is "
413 "recommended, although some implementations may require "
414 "longer Ids. (This is the reason why no maxlen(16) "
415 "qualifier has been used.)\n"
416 "MutualContextId explicitly identifies the context for "
417 "instances of UnitOfWork, that is otherwise provided "
418 "implicitly by SubUoW association instances. In addition, "
419 "one can query directly (i.e. without following the "
420 "associations) for UnitOfWork instances that participate in "
421 tony 1.1 "some individual action (i.e., the mutual context). If no "
422 "mutual context is needed or if it is not supported by the "
423 "implementation, the value is NULL.\n"
424 "Note that the MutualContextId value is to be transferred "
425 "internally between the participating UnitOfWork "
426 "implementations such that each UnitOfWork instance "
427 "implementation receives its value from its "
428 "predecessor/parent or initially creates the value if it is "
429 "the first instance of the context.") ]
430 string MutualContextId;
431 };
432
433
434 // ==================================================================
435 // UoWMetric
436 // ==================================================================
437 [Association, Version ("2.6.0"), Description (
438 "This association ties a MetricDefinition to an instance of a "
439 "UnitOfWork. Its primary purpose is to specify the value of "
440 "the Metric for the instance of UnitOfWork. It is defined as a "
441 "Dependency since the Metric value relies on the specific "
442 tony 1.1 "UnitOfWork for context.") ]
443 class CIM_UoWMetric : CIM_Dependency {
444
445 [Override ("Antecedent"), Description (
446 "The UnitOfWork whose Metric value is specified.") ]
447 CIM_UnitOfWork REF Antecedent;
448
449 [Override ("Dependent"), Description (
450 "The MetricDefinition for this particular UnitOfWork and "
451 "value. Note that the MetricDefinition must be associated "
452 "(via UoWMetricDefinition) to the same UnitOfWorkDefinition "
453 "to which the UnitOfWork is weakly associated.") ]
454 CIM_MetricDefinition REF Dependent;
455
456 [Description (
457 "The value of the Metric for the referenced UnitOfWork. "
458 "Note that the type of the data and other information are "
459 "defined by the properties of MetricDefinition.") ]
460 string Value;
461 };
462
463 tony 1.1
464 // ==================================================================
465 // StartedUoW
466 // ==================================================================
467 [Association, Version ("2.6.0"), Description (
468 "This association links a UnitOfWork (which is a 'started' "
469 "transaction) to its Definition.") ]
470 class CIM_StartedUoW : CIM_Dependency {
471
472 [Override ("Antecedent"), Min (1), Max (1), Description (
473 "The Definition object for the UnitOfWork.") ]
474 CIM_UnitOfWorkDefinition REF Antecedent;
475
476 [Override ("Dependent"), Weak, Description (
477 "An instance of a UnitOfWork that has started executing.") ]
478 CIM_UnitOfWork REF Dependent;
479 };
480
481
482 // ==================================================================
483 // LogicalElementUnitOfWorkDef
484 tony 1.1 // ==================================================================
485 [Association, Version ("2.6.0"), Description (
486 "This association links a LogicalElement to the UnitsOfWork "
487 "that it can perform. For example, a Printer Device may have "
488 "associated UnitOfWorkDefinitions representing PrintJobs. This "
489 "is a Dependency relationship since the Definitions are given "
490 "context by the LogicalElement.") ]
491 class CIM_LogicalElementUnitOfWorkDef : CIM_Dependency {
492
493 [Override ("Antecedent"), Description (
494 "The LogicalElement that is providing the UnitOfWork.") ]
495 CIM_LogicalElement REF Antecedent;
496
497 [Override ("Dependent"), Description (
498 "The UnitOfWorkDefinition associated with the "
499 "LogicalElement.") ]
500 CIM_UnitOfWorkDefinition REF Dependent;
501 };
502
503
504 // ==================================================================
505 tony 1.1 // SubUoWDef
506 // ==================================================================
507 [Association, Version ("2.6.0"), Description (
508 "This association defines the sub-UnitsOfWork (the sub- "
509 "transactions) for a particular UnitOfWorkDefinition. For "
510 "example, an 'AddOrder' UnitOfWork could have sub-Units of "
511 "'ValidateCustomer', 'ValidatePartNumber', 'UpdateDatabase', "
512 "etc. This is a Dependency relationship since the sub-UnitsOf "
513 "Work are put in context relative to the parent Unit. It is "
514 "not an aggregation relationship - since (using another "
515 "example) a 'DatabaseWrite' transaction is likely to be "
516 "dependent upon a 'DiskWrite', but the two transactions are "
517 "separate concepts and one is not 'contained' by the other.") ]
518 class CIM_SubUoWDef : CIM_Dependency {
519
520 [Override ("Antecedent"), Description (
521 "The parent UnitOfWorkDefinition.") ]
522 CIM_UnitOfWorkDefinition REF Antecedent;
523
524 [Override ("Dependent"), Description (
525 "The sub-UnitOfWorkDefinition.") ]
526 tony 1.1 CIM_UnitOfWorkDefinition REF Dependent;
527 };
528
529
530 // ==================================================================
531 // LogicalElementPerformsUoW
532 // ==================================================================
533 [Association, Version ("2.6.0"), Description (
534 "This association identifies a specific execution of a UnitOf "
535 "Work with the specific LogicalElement that is performing/ has "
536 "performed it. Where the LogicalElementUnitOfWorkDef "
537 "association describes what an Element can do, this "
538 "relationship describes what a particular Element is doing or "
539 "has done.") ]
540 class CIM_LogicalElementPerformsUoW : CIM_Dependency {
541
542 [Override ("Antecedent"), Description (
543 "The LogicalElement performing the UnitOfWork.") ]
544 CIM_LogicalElement REF Antecedent;
545
546 [Override ("Dependent"), Description (
547 tony 1.1 "The UnitOfWork being performed.") ]
548 CIM_UnitOfWork REF Dependent;
549 };
550
551 // ==================================================================
552 // SubUoW
553 // ==================================================================
554 [Association, Version ("2.6.0"), Description (
555 "Similar to the SubUoWDef association (which describes the "
556 "relationship between definitional UnitsOfWork), this "
557 "association identifies the executional UnitOfWork "
558 "Dependencies. It associates executing/executed UnitsOfWork "
559 "with their parent Units. In most cases, the SubUoW reflects "
560 "the execution side of the relationship defined in SubUoWDef. "
561 "However, there may be cases where the SubUoWDef is not "
562 "defined, but for a particular UnitOfWork, the SubUoW "
563 "relationship is valid. Therefore, it is not a requirement "
564 "(but it is desirable) that there be a corresponding SubUoWDef "
565 "for each instance of SubUoW.") ]
566 class CIM_SubUoW : CIM_Dependency {
567
568 tony 1.1 [Override ("Antecedent"), Max (1), Description (
569 "The parent executing/executed UnitOfWork. On the execution "
570 "side, it is expected that a sub-Unit is associated with "
571 "only one parent UnitOfWork.") ]
572 CIM_UnitOfWork REF Antecedent;
573
574 [Override ("Dependent"), Description (
575 "The sub-UnitOfWork. On the execution side, it is expected "
576 "that a sub-Unit is associated with only one parent "
577 "UnitOfWork.") ]
578 CIM_UnitOfWork REF Dependent;
579 };
580
581
582 // ==================================================================
583 // UoWDefTraceLevelType
584 // ==================================================================
585 [Association, Version ("2.7.0"), Description (
586 "Refers to the refinement of the UnitOfWorkDefinition: the "
587 "trace level type. It is not required that a UnitOfWork be "
588 "associated to a TraceLevelType. But if it is associated, only "
589 tony 1.1 "one Type can be specified for the Definition. In contrast, "
590 "TraceLevelTypes can be reused for multiple Definitions.") ]
591 class CIM_UoWDefTraceLevelType {
592
593 [Key, Max (1), Description (
594 "The trace level type description that is implemented by the "
595 "UnitOfWorkDefinition.") ]
596 CIM_TraceLevelType REF TraceLevelType;
597
598 [Key, Description (
599 "The UnitOfWorkDefinition which is refined by the instance "
600 "of TraceLevelType.") ]
601 CIM_UnitOfWorkDefinition REF UoWDefn;
602 };
603
604
605 // ===================================================================
606 // end of file
607 // ===================================================================
|