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

  1 karl  1.1 // ==================================================================
  2           // Title:  	  DAP MOF Specification 2.5
  3           // Filename:  CIM_DAP25.MOF
  4           // Date:      15 Dec 2000 - Version 2.5
  5           //         Fixed UnitOfWork.UoWDefId Propagated qualifier class name
  6           //         Removed the Weak qualifier from the association StartedUoW
  7           //         Fixed some descriptions
  8           //         Removed Required qualifier from MetricDefinition.Name,
  9           //              UnitOfWorkDefinition.Name, UnitOfWorkDefinition.Context
 10           //         --> (the rest of this list were changes made 01 Feb 2000 but
 11           //         -->  not incorporated into DAP24.MOF due to an oversight)
 12           //	   Fixed pragma Locale string
 13           //         Corrected subclassing of CIM_MetricDefinition and 
 14           //		CIM_UnitOfWork (now subclassed from CIM_ManagedElement)
 15           //	   Fixed grammatical and formatting errors in Descriptions
 16           //	   Provided information in Descriptions on why associations 
 17           //		were defined as Dependencies 
 18           //	   Provided Descriptions where they were missing
 19           //	   Added MaxLen (16) to String Id in UnitOfWorkDefinition
 20           //		and in MetricDefinition, to enforce the semantics of 
 21           //		the Description
 22 karl  1.1 //	   Also added MaxLen (16) to UoWDefId, where the UnitOf
 23           //		WorkDefinition Id property is propagated to UnitOfWork	
 24           //	   Removed the Weak qualifier from the association, 
 25           //		UoWMetricDefinition, and also the Max(1) restriction
 26           //		(the latter allows reuse of Metrics)
 27           //	   Removed Min(0) from the association, SubUoW, since this
 28           //		is the default definition
 29           // ==================================================================
 30           
 31           // ==================================================================
 32           // Pragmas
 33           // ==================================================================
 34           #pragma Locale ("en_US")
 35           
 36           
 37           // ================================================================== 
 38           // UnitOfWorkDefinition
 39           // ==================================================================
 40              [Description (
 41                  "A LogicalElement that describes units of work (e.g. "
 42           	 "transactions). This class represents the definitional "
 43 karl  1.1 	 "components of a unit of work, and not the unit itself.")
 44              ]
 45           class CIM_UnitOfWorkDefinition : CIM_LogicalElement
 46           {
 47                 [Override ("Name"), 
 48                  Description (
 49                      "The name of the Definition. This name does not have to "
 50           	     "be unique, but should be descriptive. It may "
 51           	     "contain blanks.")
 52                 ]
 53              string Name;
 54                 [Description (
 55                      "A free format string describing the context of the "
 56                      "defined UnitOfWork. For example an 'Add Order' Unit could "
 57                      "be defined in the context of a book ordering application, "
 58                      "whereas another 'Add Order' UnitOfWork could be defined for "
 59           	   "a computer ordering application. It may contain blanks.")
 60                 ]
 61              string Context;
 62                 [Key, MaxLen (16),
 63                  Description (
 64 karl  1.1           "A 16 byte value that uniquely identifies the UnitOfWork"
 65           	    "Definition. The use of OSF UUID/GUIDs is recommended.")
 66                 ]
 67              string Id;
 68           };
 69           
 70           // ================================================================== 
 71           // MetricDefinition
 72           // ==================================================================
 73              [Description (
 74                  "The metrics that are associated with a UnitOfWork. These "
 75           	 "metrics usually describe some aspect of a UnitOfWork such "
 76           	 "as how much work was done, or the size of the UnitOfWork. "
 77           	 "For example, the size of a print job or the number of pages "
 78           	 "printed could be metrics of a 'print' UnitOfWork.")
 79              ]
 80           class CIM_MetricDefinition : CIM_ManagedElement
 81           {
 82                 [Key, MaxLen (16),
 83           	 Description (
 84                     "A 16 byte value that uniquely identifies the Metric"
 85 karl  1.1 	    "Definition. The use of OSF UUID/GUIDs is recommended.")
 86                 ]
 87              string Id;
 88                 [Description (
 89                      "The name of the Definition.  This name does not have to "
 90           	     "be unique, but should be descriptive.  It may "
 91           	     "contain blanks.")
 92                 ]
 93              string Name;
 94                 [Description (
 95           	     "The Metric's data type. For example, \"boolean\" (value=1) "
 96           	     "or \"datetime\" (=3) may be specified."),  
 97           	 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
 98           		"11", "12", "13", "14"},
 99           	 Values {"boolean", "char16", "datetime", "real32", "real64", 
100           		"sint16", "sint32", "sint64", "sint8", "string", "uint16", 
101           		"uint32", "uint64", "uint8"}
102           	]
103              uint16 DataType;
104                 [Description (
105                      "An enumerated value that describes the characteristics "
106 karl  1.1            "of the Metric, for purposes of performing calculations. "
107                      "The property can take one of the following values:\n"
108                      "1=\"Non-calculable\" -> a string. Arithmetic makes no "
109                      "sense.\n"
110                      "2=\"Summable\" -> It is reasonable to sum this value over "
111                      "many instances of UnitOfWork, such as the number of files "
112                      "processed in a backup job. For example, if each backup "
113                      "job is a UnitOfWork, and each job backs up 27,000 files on "
114                      "average, then it makes sense to say that 100 backup jobs "
115                      "processed 2,700,000 files.\n"
116                      "3=\"Non-summable\" -> It does not make sense to sum this "
117                      "value over many instances of UnitOfWork. An example would be "
118                      "a metric that measures the queue length when a job arrives "
119                      "at a server. If each job is a UnitOfWork, and the average "
120                      "queue length when each job arrives is 33, it does not make "
121                      "sense to say that the queue length for 100 jobs is 3300. It "
122                      "does make sense to say that the mean is 33."),
123                   ValueMap {"1", "2", "3"},
124                   Values {"Non-calculable", "Summable", "Non-summable"}
125           	]
126              uint16 Calculable;
127 karl  1.1       [Description (
128                     "Identifies the specific units of the Metric. Examples are "
129                     "Bytes, Packets, Jobs, Files, Milliseconds and Amps.")
130           	]
131              string Units;
132                 [Description (
133           	  "An enumerated value describing when the Metric may be "
134                     "considered valid. Some metrics are valid only at the "
135                     "beginning of a transaction (e.g., bytes to print), while "
136                     "the transaction is running (e.g., percent complete), or "
137                     "when the transaction is finished (e.g., pages printed). "
138                     "If a metric is valid at more than one of the enumerated "
139                     "values, such as both when the unit of work starts and "
140                     "when it stops, it is recommended to not use Validity."),
141           	 ValueMap {"1", "2", "3"},
142           	 Values {"atStart","inMiddle","atStop"} 
143           	] 
144              uint16 Validity;
145           };
146           
147           // ================================================================== 
148 karl  1.1 // UoWMetricDefinition
149           // ==================================================================
150              [Association,
151               Description (
152                  "An association that describes the Metrics related to a "
153           	 "UnitOfWorkDefinition. This is a Dependency "
154                  "relationship since the MetricDefinition relies on the "
155                  "UnitOfWorkDefinition for context. At least one context must "
156                  "be defined for a MetricDefinition, hence the Min(1) "
157                  "qualifier is placed on the UnitOfWorkDefinition reference.")
158              ]
159           class CIM_UoWMetricDefinition : CIM_Dependency
160           {
161                 [Override ("Antecedent"), Min(1),
162                  Description (
163                    "The UnitOfWorkDefinition where the Metric applies.")
164                 ] 
165              CIM_UnitOfWorkDefinition REF Antecedent;
166                 [Override ("Dependent"),
167                  Description (
168                    "The MetricDefinition for a particular UnitOfWork.")
169 karl  1.1       ] 
170              CIM_MetricDefinition REF Dependent;
171           };
172           
173           // ================================================================== 
174           // UnitOfWork
175           // ==================================================================
176              [Description (
177                 "Each instance of UnitOfWork identifies a transaction that is "
178                 "either in-process or already completed. Because instances of "
179                 "'in-process' UnitsOfWork can be very short-lived and there can "
180                 "be a great number of active ones, use of this class as an "
181                 "instrumentation source for determining response time may be "
182                 "incorrect or inefficient, unless the rate and duration of the "
183                 "UnitsOfWork are known. The intended use is to respond to queries "
184                 "about currently active or recently completed UnitsOfWork. "
185                 "The length of time that a UnitOfWork instance exists after the "
186                 "UnitOfWork completes is not defined and should be assumed to be "
187                 "implementation-dependent. This class "
188                 "is weak to its definition (CIM_UnitOfWorkDefintion).") 
189              ] 
190 karl  1.1 class CIM_UnitOfWork : CIM_ManagedElement
191           {
192           	[Override ("Description"),
193                  Description (
194                    "Since UnitOfWork is designed to be an extremely lightweight "
195                    "object, it is recommended that this property not be used. "
196           	   "The Description specified for the instance's associated "
197                    "CIM_UnitOfWorkDefintion should apply.")
198           	] 
199              string Description;
200                 [Key, Description (
201                   "The identifier of the UnitOfWork, within the context of the "
202           	  "UnitOfWorkDefinition.") 
203           	] 
204              sint64 Id;
205                 [Key, MaxLen (16), 
206           	 Propagated ("CIM_UnitOfWorkDefinition.Id"),
207                  Description (
208                     "A 16 byte value that uniquely identifies the UnitOfWork"
209           	    "Definition. The use of OSF UUID/GUIDs is recommended.")
210                 ]
211 karl  1.1    string UoWDefId;
212                 [Description (
213                     "The name of the user who initiated the UnitOfWork. This "
214                     "may be a real user's login name or a logical name representing "
215                     "an application.")
216           	] 
217              string UserName;
218                 [Description (
219           	    "The time that the UnitOfWork was started.") 
220                 ] 
221              datetime StartTime;
222                 [Description (
223                     "The elapsed time since the UnitOfWork was started. "
224                     "Upon completion of the UnitOfWork, this property contains "
225           	    "the total amount of time taken in processing the entire "
226                     "UnitOfWork.") 
227           	] 
228              datetime ElapsedTime;
229             	[Description (
230           	    "An enumeration identifing the status of the UnitOfWork. "
231           	    "Most of the property values are self-explanatory. A few need "
232 karl  1.1 	    "additional text:\n"
233                     "3=\"Completed\" - Should be used to represent a 'completed' "
234                     "transaction whose status ('good', 'failed' or 'aborted') is "
235                     "unknown.\n"
236                     "6=\"Completed Aborted\" - Should be used when a UnitOfWork "
237                     "has completed but was not allowed to end normally. An example "
238                     "would be when the Stop or Back buttons are selected from a web "
239                     "browser, before a page is fully loaded."),
240           	   ValueMap {"1", "2", "3", "4", "5", "6"},
241           	   Values {"Active", "Suspended", "Completed", "Completed Good",
242                           "Completed Failed", "Completed Aborted"}
243           	]
244              uint16 Status;
245           };
246           
247           // ================================================================== 
248           // UoWMetric
249           // ==================================================================
250              [Association,
251               Description (
252                  "This association ties a MetricDefinition to an instance of a "
253 karl  1.1        "UnitOfWork. Its primary purpose is to specify the value of "
254                  "the Metric for the instance of UnitOfWork. It is defined as a "
255                  "Dependency since the Metric value relies on the specific "
256                  "UnitOfWork for context.")
257              ]
258           class CIM_UoWMetric : CIM_Dependency
259           {
260           	[Override ("Antecedent"),
261                  Description (
262                    "The UnitOfWork whose Metric value is specified.")
263                 ] 
264              CIM_UnitOfWork REF Antecedent;
265                 [Override ("Dependent"),
266                  Description (
267                    "The MetricDefinition for this particular UnitOfWork and "
268                    "value. Note that the MetricDefinition must be associated "
269                    "(via UoWMetricDefinition) to the same UnitOfWorkDefinition "
270                    "to which the UnitOfWork is weakly associated.")
271                 ] 
272              CIM_MetricDefinition REF Dependent;
273           	[Description (
274 karl  1.1 	 "The value of the Metric for the referenced UnitOfWork. "
275                  "Note that the type of the data and other information are "
276                  "defined by the properties of MetricDefinition.")
277           	]
278              string Value;
279           };
280           
281           // ================================================================== 
282           // StartedUoW
283           // ==================================================================
284              [Association,
285               Description (
286                  "This association links a UnitOfWork (which is a 'started' "
287                  "transaction) to its Definition.")
288              ]
289           class CIM_StartedUoW : CIM_Dependency
290           {
291           	[Override ("Antecedent"),
292                  Max (1), Min (1),
293                  Description (
294                    "The Definition object for the UnitOfWork.")
295 karl  1.1       ] 
296              CIM_UnitOfWorkDefinition REF Antecedent;
297                 [Override ("Dependent"),
298                  Description (
299                    "An instance of a UnitOfWork that has started executing.")
300                 ] 
301              CIM_UnitOfWork REF Dependent;
302           };
303           
304           // ================================================================== 
305           // LogicalElementUnitOfWorkDef
306           // ==================================================================
307              [Association,
308               Description (
309                  "This association links a LogicalElement to the UnitsOfWork "
310           	 "that it can perform.  For example, a Printer Device may have "
311           	 "associated UnitOfWorkDefinitions representing PrintJobs. "
312                  "This is a Dependency relationship since the Definitions are "
313                  "given context by the LogicalElement.")
314              ]
315           class CIM_LogicalElementUnitOfWorkDef : CIM_Dependency
316 karl  1.1 {
317                 [Override ("Antecedent"),
318                  Description (
319                    "The LogicalElement that is providing the UnitOfWork.")
320                 ] 
321              CIM_LogicalElement REF Antecedent;
322                 [Override ("Dependent"),
323                  Description (
324                    "The UnitOfWorkDefinition associated with the LogicalElement.")
325                 ] 
326              CIM_UnitOfWorkDefinition REF Dependent;
327           };
328           
329           // ================================================================== 
330           // SubUoWDef
331           // ==================================================================
332              [Association,
333               Description (
334                  "This association defines the sub-UnitsOfWork (the sub-"
335                  "transactions) for a particular UnitOfWorkDefinition. For "
336                  "example, an 'AddOrder' UnitOfWork could have sub-Units of "
337 karl  1.1        "'ValidateCustomer', 'ValidatePartNumber', 'UpdateDatabase', "
338                  "etc. This is a Dependency relationship since the sub-UnitsOf"
339                  "Work are put in context relative to the parent Unit. It is "
340                  "not an aggregation relationship - since (using another example) "
341                  "a 'DatabaseWrite' transaction is likely to be dependent upon a "
342                  "'DiskWrite', but the two transactions are separate concepts "
343                  "and one is not 'contained' by the other.")
344              ]
345           class CIM_SubUoWDef : CIM_Dependency
346           {
347                 [Override ("Antecedent"),
348                  Description (
349                    "The parent UnitOfWorkDefinition.")
350                 ] 
351              CIM_UnitOfWorkDefinition REF Antecedent;
352                 [Override ("Dependent"),
353                  Description (
354                    "The sub-UnitOfWorkDefinition.")
355                 ] 
356              CIM_UnitOfWorkDefinition REF Dependent;
357           };
358 karl  1.1 
359           // ================================================================== 
360           // LogicalElementPerformsUoW
361           // ==================================================================
362              [Association,
363               Description (
364                  "This association identifies a specific execution of a UnitOf"
365                  "Work with the specific LogicalElement that is performing/"
366                  "has performed it. Where the LogicalElementUnitOfWorkDef "
367                  "association describes what an Element can do, this relationship "
368                  "describes what a particular Element is doing or has done.")
369              ]
370           class CIM_LogicalElementPerformsUoW : CIM_Dependency
371           {
372                 [Override ("Antecedent"),
373                  Description (
374                    "The LogicalElement performing the UnitOfWork.")
375                 ] 
376              CIM_LogicalElement REF Antecedent;
377                 [Override ("Dependent"),
378                  Description (
379 karl  1.1          "The UnitOfWork being performed.")
380                 ] 
381              CIM_UnitOfWork REF Dependent;
382           };
383           
384           // ================================================================== 
385           // SubUoW
386           // ==================================================================
387              [Association,
388               Description (
389                  "Similar to the SubUoWDef association (which describes the "
390                  "relationship between definitional UnitsOfWork), this "
391           	 "association identifies the executional UnitOfWork "
392                  "Dependencies.  It associates executing/executed UnitsOfWork "
393                  "with their parent Units. In most cases, the SubUoW reflects "
394                  "the execution side of the relationship defined in SubUoWDef. "
395                  "However, there may be cases where the SubUoWDef is not defined, "
396                  "but for a particular UnitOfWork, the SubUoW relationship is "
397                  "valid. Therefore, it is not a requirement (but it is "
398                  "desirable) that there be a corresponding SubUoWDef for each "
399                  "instance of SubUoW.")
400 karl  1.1    ]
401           class CIM_SubUoW : CIM_Dependency
402           {
403                 [Override ("Antecedent"),
404           	 Max (1), 
405                  Description (
406                    "The parent executing/executed UnitOfWork. On the execution "
407                    "side, it is expected that a sub-Unit is associated with only "
408                    "one parent UnitOfWork.")
409                 ] 
410              CIM_UnitOfWork REF Antecedent;
411                 [Override ("Dependent"),
412                  Description (
413                    "The sub-UnitOfWork. On the execution side, it is expected "
414                    "that a sub-Unit is associated with only one parent "
415                    "UnitOfWork.")
416                 ] 
417              CIM_UnitOfWork REF Dependent;
418           };
419           
420           // ===================================================================
421 karl  1.1 // end of file
422           // ===================================================================
423           

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2