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