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