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

  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              // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2