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

File: [Pegasus] / pegasus / Schemas / CIM25 / CIM_Metrics25.mof (download)
Revision: 1.1.2.1, Tue Aug 7 10:01:22 2001 UTC (22 years, 10 months ago) by karl
Branch: dev
CVS Tags: dev_dead, SNAPSHOT_1_04
Changes since 1.1: +25 -3 lines
CIM25 from preliminary to Final version of MOF

// ==================================================================
// Title:  	Metrics MOF Specification 2.5
// Filename:    CIM_Metrics25.MOF
// Version      2.5
// Release:     0
// Status:      Final
// Date:        06/12/2001
// ===================================================================
// Copyright "2001" Distributed Management Task Force, Inc. (DMTF).
// All rights reserved.  
// DMTF is a not-for-profit association of industry members dedicated 
// to promoting enterprise and systems management and interoperability. 
// DMTF specifications and documents may be reproduced for uses
// consistent with this purpose by members and non-members, 
// provided that correct attribution is given. 
// As DMTF specifications may be revised from time to time, 
// the particular version and release cited should always be noted.
// Description: These object classes define the user and security 
//              model for CIM and includes classes needed to represent
//              users, groups and organizational entities as well as 
//              security services and authentication and authorization 
//              information.
//              The object classes below are listed in an order that
//              avoids forward references. Required objects, defined 
//		    by other working groups, are omitted. 
// ===================================================================
//         Fixed UnitOfWork.UoWDefId Propagated qualifier class name
//         Removed the Weak qualifier from the association StartedUoW
//         Fixed some descriptions
//         Removed Required qualifier from MetricDefinition.Name,
//              UnitOfWorkDefinition.Name, UnitOfWorkDefinition.Context
//         --> (the rest of this list were changes made 01 Feb 2000 but
//         -->  not incorporated into DAP24.MOF due to an oversight)
//	   Fixed pragma Locale string
//         Corrected subclassing of CIM_MetricDefinition and 
//		CIM_UnitOfWork (now subclassed from CIM_ManagedElement)
//	   Fixed grammatical and formatting errors in Descriptions
//	   Provided information in Descriptions on why associations 
//		were defined as Dependencies 
//	   Provided Descriptions where they were missing
//	   Added MaxLen (16) to String Id in UnitOfWorkDefinition
//		and in MetricDefinition, to enforce the semantics of 
//		the Description
//	   Also added MaxLen (16) to UoWDefId, where the UnitOf
//		WorkDefinition Id property is propagated to UnitOfWork	
//	   Removed the Weak qualifier from the association, 
//		UoWMetricDefinition, and also the Max(1) restriction
//		(the latter allows reuse of Metrics)
//	   Removed Min(0) from the association, SubUoW, since this
//		is the default definition
// ==================================================================

// ==================================================================
// Pragmas
// ==================================================================
#pragma Locale ("en_US")


// ================================================================== 
// UnitOfWorkDefinition
// ==================================================================
   [Description (
       "A LogicalElement that describes units of work (e.g. "
	 "transactions). This class represents the definitional "
	 "components of a unit of work, and not the unit itself.")
   ]
class CIM_UnitOfWorkDefinition : CIM_LogicalElement
{
      [Override ("Name"), 
       Description (
           "The name of the Definition. This name does not have to "
	     "be unique, but should be descriptive. It may "
	     "contain blanks.")
      ]
   string Name;
      [Description (
           "A free format string describing the context of the "
           "defined UnitOfWork. For example an 'Add Order' Unit could "
           "be defined in the context of a book ordering application, "
           "whereas another 'Add Order' UnitOfWork could be defined for "
	   "a computer ordering application. It may contain blanks.")
      ]
   string Context;
      [Key, MaxLen (16),
       Description (
          "A 16 byte value that uniquely identifies the UnitOfWork"
	    "Definition. The use of OSF UUID/GUIDs is recommended.")
      ]
   string Id;
};

// ================================================================== 
// MetricDefinition
// ==================================================================
   [Description (
       "The metrics that are associated with a UnitOfWork. These "
	 "metrics usually describe some aspect of a UnitOfWork such "
	 "as how much work was done, or the size of the UnitOfWork. "
	 "For example, the size of a print job or the number of pages "
	 "printed could be metrics of a 'print' UnitOfWork.")
   ]
class CIM_MetricDefinition : CIM_ManagedElement
{
      [Key, MaxLen (16),
	 Description (
          "A 16 byte value that uniquely identifies the Metric"
	    "Definition. The use of OSF UUID/GUIDs is recommended.")
      ]
   string Id;
      [Description (
           "The name of the Definition.  This name does not have to "
	     "be unique, but should be descriptive.  It may "
	     "contain blanks.")
      ]
   string Name;
      [Description (
	     "The Metric's data type. For example, \"boolean\" (value=1) "
	     "or \"datetime\" (=3) may be specified."),  
	 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
		"11", "12", "13", "14"},
	 Values {"boolean", "char16", "datetime", "real32", "real64", 
		"sint16", "sint32", "sint64", "sint8", "string", "uint16", 
		"uint32", "uint64", "uint8"}
	]
   uint16 DataType;
      [Description (
           "An enumerated value that describes the characteristics "
           "of the Metric, for purposes of performing calculations. "
           "The property can take one of the following values:\n"
           "1=\"Non-calculable\" -> a string. Arithmetic makes no "
           "sense.\n"
           "2=\"Summable\" -> It is reasonable to sum this value over "
           "many instances of UnitOfWork, such as the number of files "
           "processed in a backup job. For example, if each backup "
           "job is a UnitOfWork, and each job backs up 27,000 files on "
           "average, then it makes sense to say that 100 backup jobs "
           "processed 2,700,000 files.\n"
           "3=\"Non-summable\" -> It does not make sense to sum this "
           "value over many instances of UnitOfWork. An example would be "
           "a metric that measures the queue length when a job arrives "
           "at a server. If each job is a UnitOfWork, and the average "
           "queue length when each job arrives is 33, it does not make "
           "sense to say that the queue length for 100 jobs is 3300. It "
           "does make sense to say that the mean is 33."),
        ValueMap {"1", "2", "3"},
        Values {"Non-calculable", "Summable", "Non-summable"}
	]
   uint16 Calculable;
      [Description (
          "Identifies the specific units of the Metric. Examples are "
          "Bytes, Packets, Jobs, Files, Milliseconds and Amps.")
	]
   string Units;
      [Description (
	  "An enumerated value describing when the Metric may be "
          "considered valid. Some metrics are valid only at the "
          "beginning of a transaction (e.g., bytes to print), while "
          "the transaction is running (e.g., percent complete), or "
          "when the transaction is finished (e.g., pages printed). "
          "If a metric is valid at more than one of the enumerated "
          "values, such as both when the unit of work starts and "
          "when it stops, it is recommended to not use Validity."),
	 ValueMap {"1", "2", "3"},
	 Values {"atStart","inMiddle","atStop"} 
	] 
   uint16 Validity;
};

// ================================================================== 
// UoWMetricDefinition
// ==================================================================
   [Association,
    Description (
       "An association that describes the Metrics related to a "
	 "UnitOfWorkDefinition. This is a Dependency "
       "relationship since the MetricDefinition relies on the "
       "UnitOfWorkDefinition for context. At least one context must "
       "be defined for a MetricDefinition, hence the Min(1) "
       "qualifier is placed on the UnitOfWorkDefinition reference.")
   ]
class CIM_UoWMetricDefinition : CIM_Dependency
{
      [Override ("Antecedent"), Min(1),
       Description (
         "The UnitOfWorkDefinition where the Metric applies.")
      ] 
   CIM_UnitOfWorkDefinition REF Antecedent;
      [Override ("Dependent"),
       Description (
         "The MetricDefinition for a particular UnitOfWork.")
      ] 
   CIM_MetricDefinition REF Dependent;
};

// ================================================================== 
// UnitOfWork
// ==================================================================
   [Description (
      "Each instance of UnitOfWork identifies a transaction that is "
      "either in-process or already completed. Because instances of "
      "'in-process' UnitsOfWork can be very short-lived and there can "
      "be a great number of active ones, use of this class as an "
      "instrumentation source for determining response time may be "
      "incorrect or inefficient, unless the rate and duration of the "
      "UnitsOfWork are known. The intended use is to respond to queries "
      "about currently active or recently completed UnitsOfWork. "
      "The length of time that a UnitOfWork instance exists after the "
      "UnitOfWork completes is not defined and should be assumed to be "
      "implementation-dependent. This class "
      "is weak to its definition (CIM_UnitOfWorkDefintion).") 
   ] 
class CIM_UnitOfWork : CIM_ManagedElement
{
	[Override ("Description"),
       Description (
         "Since UnitOfWork is designed to be an extremely lightweight "
         "object, it is recommended that this property not be used. "
	   "The Description specified for the instance's associated "
         "CIM_UnitOfWorkDefintion should apply.")
	] 
   string Description;
      [Key, Description (
        "The identifier of the UnitOfWork, within the context of the "
	  "UnitOfWorkDefinition.") 
	] 
   sint64 Id;
      [Key, MaxLen (16), 
	 Propagated ("CIM_UnitOfWorkDefinition.Id"),
       Description (
          "A 16 byte value that uniquely identifies the UnitOfWork"
	    "Definition. The use of OSF UUID/GUIDs is recommended.")
      ]
   string UoWDefId;
      [Description (
          "The name of the user who initiated the UnitOfWork. This "
          "may be a real user's login name or a logical name representing "
          "an application.")
	] 
   string UserName;
      [Description (
	    "The time that the UnitOfWork was started.") 
      ] 
   datetime StartTime;
      [Description (
          "The elapsed time since the UnitOfWork was started. "
          "Upon completion of the UnitOfWork, this property contains "
	    "the total amount of time taken in processing the entire "
          "UnitOfWork.") 
	] 
   datetime ElapsedTime;
  	[Description (
	    "An enumeration identifing the status of the UnitOfWork. "
	    "Most of the property values are self-explanatory. A few need "
	    "additional text:\n"
          "3=\"Completed\" - Should be used to represent a 'completed' "
          "transaction whose status ('good', 'failed' or 'aborted') is "
          "unknown.\n"
          "6=\"Completed Aborted\" - Should be used when a UnitOfWork "
          "has completed but was not allowed to end normally. An example "
          "would be when the Stop or Back buttons are selected from a web "
          "browser, before a page is fully loaded."),
	   ValueMap {"1", "2", "3", "4", "5", "6"},
	   Values {"Active", "Suspended", "Completed", "Completed Good",
                "Completed Failed", "Completed Aborted"}
	]
   uint16 Status;
};

// ================================================================== 
// UoWMetric
// ==================================================================
   [Association,
    Description (
       "This association ties a MetricDefinition to an instance of a "
       "UnitOfWork. Its primary purpose is to specify the value of "
       "the Metric for the instance of UnitOfWork. It is defined as a "
       "Dependency since the Metric value relies on the specific "
       "UnitOfWork for context.")
   ]
class CIM_UoWMetric : CIM_Dependency
{
	[Override ("Antecedent"),
       Description (
         "The UnitOfWork whose Metric value is specified.")
      ] 
   CIM_UnitOfWork REF Antecedent;
      [Override ("Dependent"),
       Description (
         "The MetricDefinition for this particular UnitOfWork and "
         "value. Note that the MetricDefinition must be associated "
         "(via UoWMetricDefinition) to the same UnitOfWorkDefinition "
         "to which the UnitOfWork is weakly associated.")
      ] 
   CIM_MetricDefinition REF Dependent;
	[Description (
	 "The value of the Metric for the referenced UnitOfWork. "
       "Note that the type of the data and other information are "
       "defined by the properties of MetricDefinition.")
	]
   string Value;
};

// ================================================================== 
// StartedUoW
// ==================================================================
   [Association,
    Description (
       "This association links a UnitOfWork (which is a 'started' "
       "transaction) to its Definition.")
   ]
class CIM_StartedUoW : CIM_Dependency
{
	[Override ("Antecedent"),
       Max (1), Min (1),
       Description (
         "The Definition object for the UnitOfWork.")
      ] 
   CIM_UnitOfWorkDefinition REF Antecedent;
      [Override ("Dependent"),
       Description (
         "An instance of a UnitOfWork that has started executing.")
      ] 
   CIM_UnitOfWork REF Dependent;
};

// ================================================================== 
// LogicalElementUnitOfWorkDef
// ==================================================================
   [Association,
    Description (
       "This association links a LogicalElement to the UnitsOfWork "
	 "that it can perform.  For example, a Printer Device may have "
	 "associated UnitOfWorkDefinitions representing PrintJobs. "
       "This is a Dependency relationship since the Definitions are "
       "given context by the LogicalElement.")
   ]
class CIM_LogicalElementUnitOfWorkDef : CIM_Dependency
{
      [Override ("Antecedent"),
       Description (
         "The LogicalElement that is providing the UnitOfWork.")
      ] 
   CIM_LogicalElement REF Antecedent;
      [Override ("Dependent"),
       Description (
         "The UnitOfWorkDefinition associated with the LogicalElement.")
      ] 
   CIM_UnitOfWorkDefinition REF Dependent;
};

// ================================================================== 
// SubUoWDef
// ==================================================================
   [Association,
    Description (
       "This association defines the sub-UnitsOfWork (the sub-"
       "transactions) for a particular UnitOfWorkDefinition. For "
       "example, an 'AddOrder' UnitOfWork could have sub-Units of "
       "'ValidateCustomer', 'ValidatePartNumber', 'UpdateDatabase', "
       "etc. This is a Dependency relationship since the sub-UnitsOf"
       "Work are put in context relative to the parent Unit. It is "
       "not an aggregation relationship - since (using another example) "
       "a 'DatabaseWrite' transaction is likely to be dependent upon a "
       "'DiskWrite', but the two transactions are separate concepts "
       "and one is not 'contained' by the other.")
   ]
class CIM_SubUoWDef : CIM_Dependency
{
      [Override ("Antecedent"),
       Description (
         "The parent UnitOfWorkDefinition.")
      ] 
   CIM_UnitOfWorkDefinition REF Antecedent;
      [Override ("Dependent"),
       Description (
         "The sub-UnitOfWorkDefinition.")
      ] 
   CIM_UnitOfWorkDefinition REF Dependent;
};

// ================================================================== 
// LogicalElementPerformsUoW
// ==================================================================
   [Association,
    Description (
       "This association identifies a specific execution of a UnitOf"
       "Work with the specific LogicalElement that is performing/"
       "has performed it. Where the LogicalElementUnitOfWorkDef "
       "association describes what an Element can do, this relationship "
       "describes what a particular Element is doing or has done.")
   ]
class CIM_LogicalElementPerformsUoW : CIM_Dependency
{
      [Override ("Antecedent"),
       Description (
         "The LogicalElement performing the UnitOfWork.")
      ] 
   CIM_LogicalElement REF Antecedent;
      [Override ("Dependent"),
       Description (
         "The UnitOfWork being performed.")
      ] 
   CIM_UnitOfWork REF Dependent;
};

// ================================================================== 
// SubUoW
// ==================================================================
   [Association,
    Description (
       "Similar to the SubUoWDef association (which describes the "
       "relationship between definitional UnitsOfWork), this "
	 "association identifies the executional UnitOfWork "
       "Dependencies.  It associates executing/executed UnitsOfWork "
       "with their parent Units. In most cases, the SubUoW reflects "
       "the execution side of the relationship defined in SubUoWDef. "
       "However, there may be cases where the SubUoWDef is not defined, "
       "but for a particular UnitOfWork, the SubUoW relationship is "
       "valid. Therefore, it is not a requirement (but it is "
       "desirable) that there be a corresponding SubUoWDef for each "
       "instance of SubUoW.")
   ]
class CIM_SubUoW : CIM_Dependency
{
      [Override ("Antecedent"),
	 Max (1), 
       Description (
         "The parent executing/executed UnitOfWork. On the execution "
         "side, it is expected that a sub-Unit is associated with only "
         "one parent UnitOfWork.")
      ] 
   CIM_UnitOfWork REF Antecedent;
      [Override ("Dependent"),
       Description (
         "The sub-UnitOfWork. On the execution side, it is expected "
         "that a sub-Unit is associated with only one parent "
         "UnitOfWork.")
      ] 
   CIM_UnitOfWork REF Dependent;
};

// ===================================================================
// end of file
// ===================================================================


No CVS admin address has been configured
Powered by
ViewCVS 0.9.2