(file) Return to Metrics_UnitOfWork.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim29

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2