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

   1 kumpf 1.2 // ===================================================================
   2           // Title:       System Diagnostics 2.7
   3           // Filename:    System27_Diagnostics.mof
   4           // Version:     2.7.0
   5           // Release:     Final
   6           // Date:        04/02/03
   7           // ===================================================================
   8           // Copyright 1999-2003 Distributed Management Task Force, Inc. (DMTF).
   9           // All rights reserved.  
  10           // DMTF is a not-for-profit association of industry members dedicated 
  11           // to promoting enterprise and systems management and interoperability. 
  12           // DMTF specifications and documents may be reproduced for uses
  13           // consistent with this purpose by members and non-members, 
  14           // provided that correct attribution is given. 
  15           // As DMTF specifications may be revised from time to time, 
  16           // the particular version and release date should always be noted.
  17           //
  18           // Implementation of certain elements of this standard or proposed 
  19           // standard may be subject to third party patent rights, including 
  20           // provisional patent rights (herein "patent rights"). DMTF makes 
  21           // no representations to users of the standard as to the existence 
  22 kumpf 1.2 // of such rights, and is not responsible to recognize, disclose, or
  23           // identify any or all such third party patent right, owners or 
  24           // claimants, nor for any incomplete or inaccurate identification or 
  25           // disclosure of such rights, owners or claimants. DMTF shall have no 
  26           // liability to any party, in any manner or circumstance, under any 
  27           // legal theory whatsoever, for failure to recognize, disclose, or 
  28           // identify any such third party patent rights, or for such party's
  29           // reliance on the standard or incorporation thereof in its product, 
  30           // protocols or testing procedures. DMTF shall have no liability to 
  31           // any party implementing such standard, whether such implementation 
  32           // is foreseeable or not, nor to any patent owner or claimant, and shall 
  33           // have no liability or responsibility for costs or losses incurred if 
  34           // a standard is withdrawn or modified after publication, and shall be
  35           // indemnified and held harmless by any party implementing the 
  36           // standard from any and all claims of infringement by a patent owner 
  37           // for such implementations.
  38           //
  39           // For information about patents held by third-parties which have 
  40           // notified the DMTF that, in their opinion, such patent may relate to 
  41           // or impact implementations of DMTF standards, visit 
  42           // http://www.dmtf.org/about/policies/disclosures.php.
  43 kumpf 1.2 // ===================================================================
  44           // Description: The System Model defines system related management 
  45           //              concepts. This file defines the specific concepts for
  46           //              Diagnostics.
  47           //
  48           //              The object classes below are listed in an order that
  49           //              avoids forward references. Required objects, defined 
  50           //              by other working groups, are omitted.
  51           // ==================================================================
  52           // Change Log for v2.7 Final
  53           // CR1010 - Update DiagnosticResult.TestResults Description
  54           //          related to datetime
  55           // CR965 - Update description for DiagnosticTestForMSE
  56           // CR973 - Remove Experimental from 
  57           //         DiagnosticSetting.LoopControlParameter
  58           //         DiagnosticSetting.LoopControl
  59           //         DiagnosticSetting.OtherLoopControlDescription
  60           //         DiagnosticSetting.ResultPersistence
  61           //         DiagnosticResult.ErrorCode
  62           //         DiagnosticResult.ErrorCount
  63           //         DiagnosticResult.LoopsFailed
  64 kumpf 1.2 //         DiagnosticResult.LoopsPassed
  65           //         DiagnosticResult.LoopControlParameter
  66           //         DiagnosticResult.LoopControl
  67           //         DiagnosticResult.OtherLoopControlDescription
  68           //         DiagnosticResult.ResultPersistence
  69           //       - Move forward with the deprecations
  70           //         DiagnosticResult.IsPackage
  71           //         DiagnosticTest.IsinUse
  72           //         DiagnosticTest.ResourcesUsed
  73           //         DiagnosticResultInPackage
  74           //         DiagnosticTestInPackage
  75           //         DiagnosticTest.RunTest
  76           //         DiagnosticSetting. and DiagnosticResult.ReportSoftErrors 
  77           //         DiagnosticSetting. and DiagnosticResult.ReportStatusMessages 
  78           //       - Hold off the rest of the Diagnostic deprecations and 
  79           //         experimental classes and properties until 2.8 (this
  80           //         includes DiagnosticService, DiagnosticServiceRecord and 
  81           //         DiagnosticServiceCapabilities)  
  82           //
  83           // Change Log for v2.7
  84           // CR725 - Add the following 3 properties LoopControlParameter,
  85 kumpf 1.2 //         LoopControl, and OtherLoopControlDescription to 
  86           //         DiagnosticSetting and DiagnosticResult
  87           // CR749 - Deprecate DiagnosticTestInPackage, DiagnosticResultInPackage,
  88           //         and DiagnosticResult.IsPackage
  89           // CR766 - Add the following properties to DiagnosticResults:
  90           //         ErrorCode, ErrorCount, LoopsFailed, LoopsPassed
  91           // CR778 - Add property ResultPersistence to DiagnosticSetting and
  92           //         DiagnosticResults 
  93           // ===================================================================
  94           
  95           #pragma locale ("en_US")
  96           
  97           
  98           // ==================================================================
  99           // DiagnosticSetting
 100           // ==================================================================
 101           [Version ("2.7.0"), Description (
 102               "Specific diagnostic test parameters and execution "
 103               "instructions are defined by subclassing and/or instantiating "
 104               "the DiagnosticSetting object. To provide more detailed "
 105               "Settings for a type of test (i.e., additional properties), "
 106 kumpf 1.2     "subclassing is appropriate. When only the generic Setting "
 107               "information is required, instantiation of the Diagnostic"
 108               "Setting class may suffice. \n"
 109               "Data from DiagnosticSetting is captured in DiagnosticResult. "
 110               "When RunTest starts execution the settings, which are time "
 111               "sensitive, should be evaluated and captured. This is suggested "
 112               "since the DiagnosticSetting object can be modified at any time, "
 113               "and therefore the current test settings could be lost.") ]
 114           class CIM_DiagnosticSetting : CIM_Setting {
 115               
 116               [Key, MaxLen (256), Override ("SettingID"), 
 117                   Description (
 118                   "The identifier by which the DiagnosticSetting object is " 
 119                   "known and uniquely named. One possible naming scheme is " 
 120                   "to name the SettingID using the DiagnosticTest's CreationClass"
 121                   "Name and DiagnosticName, plus a GUID (Globally Unique "
 122                   "IDentifier).\n" 
 123                   "  Note that at an enterprise level, there is typically not a " 
 124                   "one to one mapping between a DiagnosticSetting and all copies " 
 125                   "of the DiagnosticTest.  The proposed naming convention will" 
 126                   "scale to the entrprise level.") ]
 127 kumpf 1.2     string SettingID;
 128            
 129               [Write, Description (
 130                   "Sets the level of warning messages to be logged. If for "
 131                   "example no warning information is required, the level "
 132                   "would be set to \"No Warnings\" (value=0). Using \"Missing "
 133                   "Resources\" (value=1) will cause warnings to be generated "
 134                   "when required resources or hardware are not found. Setting "
 135                   "the value to 2, \"Testing Impacts\", results in both "
 136                   "missing resources and 'test impact' warnings (for example, "
 137                   "multiple retries required) to be reported."), 
 138                   ValueMap {"0", "1", "2", "3"},
 139                   Values {"No Warnings", "Missing Resources", 
 140                       "Testing Impacts", "All Warnings"} ]        
 141               uint16 TestWarningLevel;
 142           
 143               [Write, Description (
 144                   "When this flag is true, the diagnostic test will report "
 145                   "'soft errors'. In this context, a soft error is a message "
 146                   "from the diagnostic reporting a known defect in the "
 147                   "hardware or driver configuration, or execution "
 148 kumpf 1.2         "environment.  Examples are: 'Not enough memory', "
 149                   "'Driver IOCTL not implemented', 'Video RAM compare "
 150                   "failed during polygon fill test (A known defect in the "
 151                   "video chipset)', etc.") ] 
 152               boolean ReportSoftErrors;
 153            
 154               [Write, Description (
 155                   "When this flag is true, the diagnostic test will report "
 156                   "'status messages'. In this context, a status message "
 157                   "indicates that the diagnostic code is at a checkpoint. "
 158                   "Examples are: \"Completion of phase 1\", \"Complex "
 159                   "pattern\", etc.") ] 
 160               boolean ReportStatusMessages; 
 161           
 162               [Write, Description (
 163                   "When this flag is true, the test will halt after finding "
 164                   "the first error.") ]
 165               boolean HaltOnError;
 166               
 167               [Write, Description (
 168                   "When this flag is true, the test software should attempt "
 169 kumpf 1.2         "to run in an accelerated fashion either by reducing the "
 170                   "coverage or number of tests performed.") ]
 171               boolean QuickMode;
 172               
 173               [Write, Units ("Percent"), MinValue (0), MaxValue (100), 
 174                   Description (
 175                   "Requests the diagnostic software to reduce test coverage "
 176                   "to the specified percentage.  For example, a hard drive "
 177                   "scan test could be asked to run at 50%. The most "
 178                   "effective way to accomplish this is for the test software "
 179                   "to scan every other track, as opposed to only scanning the "
 180                   "first half of a drive. It is assumed that the effectiveness "
 181                   "of the test is impacted proportional to the percentage of "
 182                   "testing requested. Permissible values for this property "
 183                   "range from 0 to 100. \n"
 184                   "This property may not be applicable to all tests.  If it "
 185                   "can be set for a test, the value 7 (\"Supports PercentOf"
 186                   "TestCoverage\") should be entered into the DiagnosticTest's "
 187                   "Characteristics array."),
 188                   ModelCorrespondence {"CIM_DiagnosticTest.Characteristics"} ] 
 189               uint8 PercentOfTestCoverage;
 190 kumpf 1.2     
 191               [Write, Description (
 192                   "Array entries contain parameters corresponding to "
 193                   "entries in the LoopControl array, limiting the number "
 194                   "of times a test should be repeated with a single "
 195                   "invocation of RunTest by a CIM client."),
 196                   ArrayType ("Indexed"),
 197                   ModelCorrespondence {"CIM_DiagnosticSetting.LoopControl"} ]
 198               string LoopControlParameter[];
 199            
 200               [Write, Description (
 201                   "LoopControl, used in conjunction with LoopControlParameter, "
 202                   "sets one or more loop control mechanisms that limits the "
 203                   "number of times a test should be repeated with a single "
 204                   "invocation of RunTest by a CIM client. There is an "
 205                   "array-positional correspondence between LoopControl "
 206                   "entries & LoopControlParameter entries. The entries in "
 207                   "these coupled arrays of loop controls can be used in a "
 208                   "logical OR fashion to achieve the desired loop control. "
 209                   "For example, if a client wants to loop a test 1000 times, "
 210                   "but quit if a timer runs out, it could set both controls "
 211 kumpf 1.2         "into the LoopControl array as two separate entries in each "
 212                   "array. The looping test will terminate when the first of the "
 213                   "two ORed conditions are met. \n"
 214                   "The descriptions for each loop control are given below: \n"
 215                   "  Unknown/Default (= 0) \n"
 216                   "  Other (= 1) : Additional detail may be found in "
 217                   "OtherLoopControlDescription. \n"
 218                   "  Continuous (= 2) : The corresponding LoopControl"
 219                   "Parameter is ignored and the test will execute "
 220                   "continuously. Tests that use this control should also " 
 221                   "support DiscontinueTest. \n" 
 222                   "  Count (= 3) : The corresponding LoopControlParameter "
 223                   "is interpreted as a loop count (uint32), indicating "
 224                   "the number of times the test should be repeated with "
 225                   "a single invocation of RunTest by a CIM client. \n"
 226                   "  Timer (= 4) : The corresponding LoopControlParameter "
 227                   "is interpreted as an initial value (uint32) for a test "
 228                   "loop timer, given in seconds.  The looping is "
 229                   "terminated when this timer has lapsed. \n"
 230                   "  ErrorCount (= 5) : The corresponding LoopControl"
 231                   "Parameter is interpreted as an error count (uint32). "
 232 kumpf 1.2         "The loop will continue until the number of errors that "
 233                   "have occurred exceeds the ErrorCount. Note: the "
 234                   "ErrorCount only refers to hard test errors; it does not "
 235                   "include soft errors or warnings. "),
 236                   ArrayType ("Indexed"),
 237                   ValueMap {"0", "1", "2", "3", "4", "5"},
 238                   Values{"Unknown/Default", "Other", "Continuous", "Count", 
 239                       "Timer", "Error Count"},
 240                   ModelCorrespondence {
 241                       "CIM_DiagnosticSetting.LoopControlParameter",
 242                       "CIM_DiagnosticSetting.OtherLoopControlDescription"} ]
 243               uint16 LoopControl[];
 244            
 245               [Write, Description (
 246                   "Provides additional information for LoopControl when "
 247                   "its value is set to 1 ('Other')."),
 248                   ModelCorrespondence {
 249                       "CIM_DiagnosticSetting.LoopControlParameter"} ]
 250               string OtherLoopControlDescriptions;
 251           
 252               [Write, Description (
 253 kumpf 1.2         "The ResultPersistence property is a directive from a diagnostic "
 254                   "client to a diagnostic provider.  It allows the client to specify "
 255                   "to the diagnostic service provider how long to persist the "
 256                   "messages that result from execution of a diagnostic service. "
 257                   "This applies to instances of DiagnosticResult. " 
 258                   "The timeout period starts upon completion of the diagnostic "
 259                   "action described by the DiagnosticTest. \n"        
 260                   "Here is a summary of the choices and behaviors for different "
 261                   "ResultPersistence values: \n"
 262                   "0 = \"No Persistence\": \n" 
 263                   "Setting the timer to zero tells the provider not to persist "
 264                   "the diagnostic result.  The diagnostic information is only "
 265                   "available while the diagnostic is executing or at its conclusion. \n"
 266                   "Value > 0 and < 0xFFFFFFFF = \"Persist With TimeOut\": \n"
 267                   "Setting the ResultPersistenceOption to a integer will "
 268                   "cause the DiagnosticResult to be persisted for that number "
 269                   "of seconds. At the end of that time, the DiagnosticResult "
 270                   "may be deleted by the diagnostic service provider. \n"
 271                   "0xFFFFFFFF  = \"Persist Forever\": \n"
 272                   "By setting the timeout value to the very large value, "
 273                   "0xFFFFFFFF, the provider shall persist results forever. "
 274 kumpf 1.2         "In this case, the client MUST bear the responsibility  "
 275                   "for deleting them."), 
 276                   Units("Seconds") ]
 277               uint32 ResultPersistence;
 278            };
 279           
 280           
 281           // ==================================================================
 282           // DiagnosticResult
 283           // ==================================================================
 284           [Version ("2.7.0"), Description (
 285               "When a DiagnosticTest Service is running, test results "
 286               "are reported using a DiagnosticResult object, or one of its "
 287               "subclasses. A DiagnosticTest may be running because its "
 288               "Service is Started or due to an invocation of the RunTest "
 289               "method. DiagnosticResults are related to their Test via an "
 290               "instance of the DiagnosticResultsForMSE association.\n"
 291               "For every running of DiagnosticTest, a new instance of "
 292               "DiagnosticResult, or one of it's subclasses should be created.") ]
 293           class CIM_DiagnosticResult {
 294               
 295 kumpf 1.2     [Propagated("CIM_DiagnosticTest.CreationClassName"), 
 296                   Key, MaxLen (256),
 297                   Description ("The scoping Test's CreationClassName.") ]
 298               string DiagnosticCreationClassName;
 299               
 300               [Propagated("CIM_DiagnosticTest.Name"),
 301                   Key, MaxLen (256),
 302                   Description ("The scoping Test's Name.") ]
 303               string DiagnosticName;
 304               
 305               [Propagated ("CIM_DiagnosticTest.SystemCreationClassName"),
 306                   Key, MaxLen (256),
 307                   Description ("The scoping Test's SystemCreationClassName.") ]
 308               string DiagSystemCreationClassName;
 309               
 310               [Propagated ("CIM_DiagnosticTest.SystemName"), 
 311                   Key, MaxLen (256),
 312                   Description ("The scoping Test's SystemName.") ]
 313               string DiagSystemName;
 314               
 315               [Key, MaxLen (1024), 
 316 kumpf 1.2         Description (
 317                       "The Unique identifier for an instance of Diagnostic"
 318                       "Results.") ]
 319               string ExecutionID; 
 320               
 321               [Description (
 322                   "The date and time the result was last updated.") ]
 323               datetime TimeStamp;
 324               
 325               [Deprecated {"No value"}, Description (
 326                   "This property is being deprecated. Tests should be" 
 327                   "grouped at the test level, not by the model. /n"
 328                   "If this property is TRUE, then this DiagnosticResult "
 329                   "summarizes the results from the execution of a packaged "
 330                   "set of DiagnosticTests. The Tests in the package can be "
 331                   "identified by following the DiagnosticResultForTest "
 332                   "association to the test and then using the DiagnosticTest"
 333                   "InPackage aggregation. The individual Results can be "
 334                   "broken out by instantiating DiagnosticResults for the "
 335                   "individual lower level tests and aggregating into the "
 336                   "'summary' Result using the DiagnosticResultInPackage "
 337 kumpf 1.2         "association.") ]
 338               boolean IsPackage;
 339               
 340               [Description (
 341                   "The date and time  when this test started.") ]
 342               datetime TestStartTime;
 343               
 344               [Description (
 345                   "The date and time when this test completed.") ]
 346               datetime TestCompletionTime;
 347               
 348               [Description (
 349                   "Describes how the test is progressing. For example, if "
 350                   "the test was discontinued, the TestState will be "
 351                   "\"Stopped\" (value=5), or if testing is currently "
 352                   "executing, TestState will be \"In Progress\" (4)."),  
 353                   ValueMap {"0", "1", "2", "3", "4", "5"},
 354                   Values{"Unknown", "Other", "Passed", "Failed", 
 355                       "In Progress", "Stopped"},
 356                   ModelCorrespondence {
 357                       "CIM_DiagnosticResult.OtherStateDescription"} ]
 358 kumpf 1.2     uint16 TestState;
 359               
 360               [Description (
 361                   "When \"Other\" (value=1) is entered in the TestState "
 362                   "property, OtherStateDescription can be used to describe "
 363                   "the test's state."),
 364                   ModelCorrespondence {"CIM_DiagnosticResult.TestState"} ]
 365               string OtherStateDescription;
 366               
 367               [Units ("Seconds"), Description (
 368                   "Estimated number of seconds to perform the Diagnostic"
 369                   "Test indicated by the DiagnosticCreationClassName and "
 370                   "DiagnosticName properties.  After the test has completed, "
 371                   "the actual elapsed time can be determined by subtracting "
 372                   "the TestStartTime from the TestCompletionTime. A similar "
 373                   "property is defined in the association, DiagnosticTest"
 374                   "ForMSE. The difference between the two properties is "
 375                   "that the value stored in the association is a generic "
 376                   "test execution time for the Element and the Test. But, "
 377                   "the value here (in DiagnosticResult) is the estimated "
 378                   "time that this instance with the given settings would "
 379 kumpf 1.2         "take to run the test.  A CIM Consumer can compare this "
 380                   "value with the value in the association DiagnosticTestForMSE "
 381                   "to get an idea what impact their settings have on test "
 382                   "execution."), 
 383                   ModelCorrespondence {
 384                       "CIM_DiagnosticTestForMSE.EstimatedTimeOfPerforming"} ]
 385               uint32 EstimatedTimeOfPerforming;
 386               
 387                 [Description(
 388                   "TestResults stores one or more textual results from the "
 389                   "execution of the DiagnosticTest(s) referenced by the "
 390                   "DiagnosticCreationClassName and DiagnosticName properties. "
 391                   "Note that this property is defined as an 'ordered' array "
 392                   "type, to maintain the order in which the results are stored. "
 393                   "One entry is considered a cell location in the array. Each "
 394                   "entry is time stamped and contains information in the following "
 395                   "format: CIMDateTime|TestName|MessageText, where: \n"
 396                   "\"CIMDateTime\" is the standard CIM data type with the following "
 397                   "format: yyyymmddhhmmss.mmmmmmsutc, where \n"
 398                   "  yyyy = year, e.g. 2003 \n"
 399                   "  mm = month (01 - 12) \n"
 400 kumpf 1.2         "  dd = day (01 - 31) \n" 
 401                   "  hh = hour (00 - 24) \n"
 402                   "  mm = minute (00-59) \n"
 403                   "  ss = second (00-59) \n"
 404                   "  mmmmmm = microsecond (000000-999999) \n"
 405                   "  s = \"+\" or \"-\" indicating the sign of the UTC "
 406                   "correction field \n"
 407                   "  utc = offset from UTC (Universal Coordinated Time) "
 408                   "in minutes \n"
 409                   "\"TestName\" is the name of the internal test that produced "
 410                   "the message \n"
 411                   "\"MessageText\" is a free form string that is the 'test "
 412                   "result' \n"
 413                   "\"|\" is a delimiter character."), 
 414                  ArrayType ("Ordered") ]
 415               string TestResults[]; 
 416           
 417               [Units ("Percent"), MinValue (0), MaxValue (100), Description (
 418                   "The percentage of the test that has executed thus far, if "
 419                   "the TestState property is set to \"In Progress\" or the "
 420                   "percentage of the complete test that was executed if the "
 421 kumpf 1.2         "TestState property is set to any of the completed states "
 422                   "(\"Passed\", \"Failed\" or \"Stopped\"). Final results may "
 423                   "be based on less than 100% coverage due to the parameters "
 424                   "defined in DiagnosticSetting (such as QuickMode, "
 425                   "PercentOfTestCoverage or HaltOnError)." ) ]
 426               uint8 PercentComplete;
 427           
 428               [Description (
 429                   "If applicable, this string should contain one or more vendor "
 430                   "specific error codes that the diagnostic service detected. "
 431                   "These error codes may be used by the vendor for variety of "
 432                   "purposes such as: fault data base indexing, field service " 
 433                   "trouble ticketing, product quality tracking, part failure "
 434                   "history, etc. Since these codes are for vendor purposes they "
 435                   "may assume any form. Details on suggested use cases will be "
 436                   "left to white papers. The array of error codes has model "
 437                   "correspondence with an ErrorCount array so the number of "
 438                   "errors reported can be analyzed by individual error code."),
 439                   ModelCorrespondence {"CIM_DiagnosticResult.ErrorCount"},
 440                   ArrayType ("Indexed") ]
 441               string ErrorCode[];
 442 kumpf 1.2  
 443               [Description (
 444                   "Since some tests may detect transient and correctable errors "
 445                   "such as a network diagnostic or memory test, an error count "
 446                   "is useful to indicate the severity of the failure. This "
 447                   "field contains an integer value of the number of errors "
 448                   "detected by the test. The ErrorCount is an array with model "
 449                   "correspondence to ErrorCode so that the test can report an "
 450                   "ErrorCount on each type of error encountered. It is "
 451                   "recommended that hard errors and correctable or recoverable "
 452                   "errors be given different codes so that clients with "
 453                   "knowledge of the error codes can evaluate correctable, "
 454                   "recoverable, and hard errors independently."),
 455                   ModelCorrespondence {"CIM_DiagnosticResult.ErrorCode"},
 456                   ArrayType ("Indexed") ]
 457               uint32 ErrorCount[];
 458            
 459               [Description (
 460                   "Since some tests may be looped, it is useful to report how "
 461                   "many iterations passed and failed. This is relevant in "
 462                   "analyzing transitory failures.  For example, if all the "
 463 kumpf 1.2         "errors occurred in just one of 100 iterations, the device "
 464                   "may be viewed as OK or marginal, to be monitored further "
 465                   "rather then failed. Note: LoopsPassed & LoopsFailed should "
 466                   "add up to the loops completed.") ]
 467               uint32 LoopsFailed;
 468            
 469               [Description (
 470                   "Since some tests may be looped, it is useful to report how "
 471                   "many iterations passed and failed. This is relevant in "
 472                   "analyzing transitory failures.  For example if all the "
 473                   "errors occurred in in just one of 100 iterations, the device "
 474                   "may be viewed as OK or marginal, to be monitored further "
 475                   "rather then failed. Note: LoopsPassed & LoopsFailed should "
 476                   "add up to the loops completed.") ]
 477               uint32 LoopsPassed;
 478           
 479           // ---------  Properties below here are copied from  ------------------
 480           // ---------  DiagnosticSettings                     ------------------
 481           // Note that the DiagnosticSetting object can be modified at any time,
 482           // and the current test settings can be lost. When RunTest starts 
 483           // execution the settings, which are time sensitive, should be evaluated 
 484 kumpf 1.2 // and captured. 
 485           
 486               [Description (
 487                   "Sets the level of warning messages to be logged. If for "
 488                   "example no warning information is required, the level "
 489                   "would be set to \"No Warnings\" (value=0). Using \"Missing "
 490                   "Resources\" (value=1) will cause warnings to be generated "
 491                   "when required resources or hardware are not found. Setting "
 492                   "the value to 2, \"Testing Impacts\", results in both "
 493                   "missing resources and 'test impact' warnings (for example, "
 494                   "multiple retries required) to be reported."), 
 495                   ValueMap {"0", "1", "2", "3"},
 496                   Values {"No Warnings", "Missing Resources", 
 497                       "Testing Impacts", "All Warnings"},
 498                   ModelCorrespondence {
 499                       "CIM_DiagnosticSetting.TestWarningLevel"} ] 
 500               uint16 TestWarningLevel;
 501               
 502               [Description (
 503                   "When this flag is true, the diagnostic test reports "
 504                   "'soft errors'. In this context, a soft error is a message "
 505 kumpf 1.2         "from the diagnostic, reporting a known defect in the "
 506                   "hardware or driver configuration, or execution "
 507                   "environment.  Examples are: 'Not enough memory', "
 508                   "'Driver IOCTL not implemented', 'Video RAM compare "
 509                   "failed during polygon fill test (A known defect in the "
 510                   "video chipset)', etc."),
 511                   ModelCorrespondence {
 512                       "CIM_DiagnosticSetting.ReportSoftErrors"} ] 
 513               boolean ReportSoftErrors;
 514            
 515               [Description (
 516                   "When this flag is true, the diagnostic test reports "
 517                   "'status messages'. In this context, a status message "
 518                   "indicates that the diagnostic code is at a checkpoint. "
 519                   "Examples are: \"Completion of phase 1\", \"Complex "
 520                   "pattern\", etc."),
 521                   ModelCorrespondence {
 522                       "CIM_DiagnosticSetting.ReportStatusMessages"} ] 
 523               boolean ReportStatusMessages; 
 524           
 525               [Description (
 526 kumpf 1.2         "When this flag is true, the test halts after finding "
 527                   "the first error."), 
 528                   ModelCorrespondence {
 529                       "CIM_DiagnosticSetting.HaltOnError"} ] 
 530               boolean HaltOnError;
 531               
 532               [Description (
 533                   "When this flag is true, the test software attempts "
 534                   "to run in an accelerated fashion either by reducing the "
 535                   "coverage or number of tests performed."), 
 536                   ModelCorrespondence {
 537                       "CIM_DiagnosticSetting.QuickMode"} ] 
 538               boolean QuickMode;
 539               
 540               [Units ("Percent"), MinValue (0), MaxValue (100), 
 541                   Description (
 542                   "Specifies the test coverage performed by the diagnostic. "
 543                   "For example, a hard drive scan test could be asked to run "
 544                   "at 50%. The most effective way to accomplish this is for "
 545                   "the test software to scan every other track, as opposed "
 546                   "to only scanning the first half of a drive. It is assumed "
 547 kumpf 1.2         "that the effectiveness of the test is impacted proportional "
 548                   "to the percentage of testing performed. Permissible values "
 549                   "for this property range from 0 to 100."), 
 550                   ModelCorrespondence {
 551                       "CIM_DiagnosticSetting.PercentOfTestCoverage"} ] 
 552               uint8 PercentOfTestCoverage;
 553               
 554               [Description (
 555                   "Array entries contain parameters corresponding to "
 556                   "entries in the LoopControl array, limiting the number "
 557                   "of times a test should be repeated with a single "
 558                   "invocation of RunTest by a CIM client."),
 559                   ArrayType ("Indexed"),
 560                   ModelCorrespondence {
 561                       "CIM_DiagnosticSetting.LoopControlParameter",  
 562                       "CIM_DiagnosticResults.LoopControl"} ]
 563               string LoopControlParameter[];
 564            
 565               [Description (
 566                   "LoopControl, used in conjunction with LoopControlParameter, "
 567                   "sets one or more loop control mechanisms that limits the "
 568 kumpf 1.2         "number of times a test should be repeated with a single "
 569                   "invocation of RunTest by a CIM client. There is an "
 570                   "array-positional correspondence between LoopControl "
 571                   "entries & LoopControlParameter entries. The entries in "
 572                   "these coupled arrays of loop controls can be used in a "
 573                   "logical OR fashion to achieve the desired loop control. "
 574                   "For example, if a client wants to loop a test 1000 times, "
 575                   "but quit if a timer runs out, it could set both controls "
 576                   "into the LoopControl array as two separate entries in each "
 577                   "array. The looping test will terminate when the first of the "
 578                   "two ORed conditions are met. \n"
 579                   "The descriptions for each loop control are given below: \n"
 580                   "  Unknown/Default (= 0) \n"
 581                   "  Other (= 1) : Additional detail may be found in "
 582                   "OtherLoopControlDescription. \n"
 583                   "  Continuous (= 2) : The corresponding LoopControl"
 584                   "Parameter is ignored and the test will execute "
 585                   "continuously. Tests that use this control should also " 
 586                   "support DiscontinueTest. \n" 
 587                   "  Count (= 3) : The corresponding LoopControlParameter "
 588                   "is interpreted as a loop count (uint32), indicating "
 589 kumpf 1.2         "the number of times the test should be repeated with "
 590                   "a single invocation of RunTest by a CIM client. \n"
 591                   "  Timer (= 4) : The corresponding LoopControlParameter "
 592                   "is interpreted as an initial value (uint32) for a test "
 593                   "loop timer, given in seconds.  The looping is "
 594                   "terminated when this timer has lapsed. \n"
 595                   "  ErrorCount (= 5) : The corresponding LoopControl"
 596                   "Parameter is interpreted as an error count (uint32). "
 597                   "The loop will continue until the number of errors that "
 598                   "have occurred exceeds the ErrorCount. Note: the "
 599                   "ErrorCount only refers to hard test errors; it does not "
 600                   "include soft errors or warnings. "),
 601                   ArrayType ("Indexed"),
 602                   ValueMap {"0", "1", "2", "3", "4", "5"},
 603                   Values{"Unknown/Default", "Other", "Continuous", "Count", 
 604                       "Timer", "Error Count"},
 605                   ModelCorrespondence {
 606                       "CIM_DiagnosticSetting.LoopControl",  
 607                       "CIM_DiagnosticResults.LoopControlParameter",
 608                       "CIM_DiagnosticResults.OtherLoopControlDescription"} ]
 609               uint16 LoopControl[];
 610 kumpf 1.2  
 611               [Description (
 612                   "Provides additional information for LoopControl when "
 613                   "its value is set to 1 ('Other')."),
 614                   ModelCorrespondence {
 615                       "CIM_DiagnosticSetting.OtherLoopControlDescription", 
 616                       "CIM_DiagnosticResults.LoopControlParameter"} ]
 617               string OtherLoopControlDescription;
 618           
 619               [Description (
 620                   "The ResultPersistence property is a directive from a diagnostic "
 621                   "client to a diagnostic provider. It allows the client to specify "
 622                   "to the diagnostic service provider how long to persist the "
 623                   "messages that result from execution of a diagnostic service. "
 624                   "This applies to instances of DiagnosticResult. " 
 625                   "The timeout period starts upon completion of the diagnostic "
 626                   "action described by the DiagnosticTest. \n"        
 627                   "Here is a summary of the choices and behaviors for different "
 628                   "ResultPersistence values: \n"
 629                   "0 = \"No Persistence\": \n" 
 630                   "Setting the timer to zero tells the provider not to persist "
 631 kumpf 1.2         "the diagnostic result.  The diagnostic information is only "
 632                   "available while the diagnostic is executing or at its conclusion. \n"
 633                   "Value > 0 and < 0xFFFFFFFF = \"Persist With TimeOut\": \n"
 634                   "Setting the ResultPersistenceOption to a integer will "
 635                   "cause the DiagnosticResult to be persisted for that number "
 636                   "of seconds. At the end of that time, the DiagnosticResult "
 637                   "may be deleted by the diagnostic service provider. \n"
 638                   "0xFFFFFFFF  = \"Persist Forever\": \n"
 639                   "By setting the timeout value to the very large value, "
 640                   "0xFFFFFFFF, the provider shall persist results forever. "
 641                   "In this case, the client MUST bear the responsibility  "
 642                   "for deleting them."), 
 643                   Units("Seconds"),
 644                   ModelCorrespondence {
 645                       "CIM_DiagnosticSetting.ResultPersistence"} ]
 646               uint32 ResultPersistence;
 647           };
 648           
 649           
 650           // ==================================================================
 651           // DiagnosticTest
 652 kumpf 1.2 // ==================================================================
 653           [Version ("2.6.0"), Description (
 654               "The CIM_DiagnosticTest class represents the framework for "
 655               "running diagnostic tests. Specific diagnostic tests may be "
 656               "defined by subclassing and/or instantiating this object. To "
 657               "provide more detail for a type of test(s) (i.e, additional "
 658               "properties and methods), subclassing is appropriate. Note "
 659               "that a DiagnosticTest can be simultaneously executed "
 660               "against several elements. If so, a DiagnosticTest may launch "
 661               "a ConcreteJob to represent each execution.") ]
 662           class CIM_DiagnosticTest : CIM_Service {
 663               
 664               [Description (
 665                   "The descriptions for each Characteristic are below:\n "
 666                   "\n"
 667                   "* \"Is Exclusive\" (value=2) is specified for the test "
 668                   "module only if the diagnostic cannot run more than one test "
 669                   "at a time, regardless of how many SystemElements are "
 670                   "supported. Typically, this occurs when hardware or software "
 671                   "constraints prevent the test from running as multiple, "
 672                   "concurrent instances. If the diagnostic can be run against "
 673 kumpf 1.2         "multiple SystemElements, but only once per Element, then set "
 674                   "the IsExclusiveForMSE boolean property on the appropriate "
 675                   "instances of DiagnosticTestForMSE. \n"
 676                   "\n"
 677                   "* If \"Is Interactive\" (value=3) is set, then the diagnostic "
 678                   "displays a message either before, during or after testing. \n"
 679                   "\n"
 680                   "* Set \"Is Destructive\" (value=4) if the diagnostic will "
 681                   "destroy data, or reconfigure the Element that is being "
 682                   "tested. \n" 
 683                   "\n"
 684                   "* \"Is Risky\" (value=5) indicates that data loss may occur "
 685                   "if the test is interrupted. Some tests make copies of data, "
 686                   "perform the test, and restore the data returning the tested "
 687                   "entity to its previous configuration. If the test is "
 688                   "interrupted, then loss of data or reconfiguration of the "
 689                   "tested ManagedSystemElement may occur. \n"
 690                   "\n"
 691                   "* If \"Is Package\" (value=6) is set, this test is actually "
 692                   "a set of lower level diagnostics, that are 'packaged' "
 693                   "together. \n"
 694 kumpf 1.2         "\n"
 695                   "\"Supports PercentOfTestCoverage\" (value=7) indicates that "
 696                   "a request for reduced test coverage can be specified using "
 697                   "the PercentOfTestCoverage property of Diagnostic Setting. \n"
 698                   "\n"
 699                   "Also, the values \"Unknown\" (0) and \"Other\" (1) may be "
 700                   "specified. If \"Other\" is defined, additional detail may be "
 701                   "found in the OtherCharacteristicDescription property of this "
 702                   "class."), 
 703                  Values{"Unknown", "Other", "Is Exclusive", "Is Interactive", 
 704                         "Is Destructive", "Is Risky", "Is Package", 
 705                         "Supports PercentOfTestCoverage"},
 706                  ModelCorrespondence {
 707                   "CIM_DiagnosticTest.OtherCharacteristicDescription"}]
 708               uint16 Characteristics[];
 709               
 710               [Description (
 711                   "Provides additional information for the Characteristic when "
 712                   "its value is set to 1 (\"Other\")."), 
 713                   ModelCorrespondence {"CIM_DiagnosticTest.Characteristics"} ]
 714               string OtherCharacteristicDescription;
 715 kumpf 1.2     
 716               [Description(
 717                   "If this test is currently being performed, the InUse "
 718                   "property is set to TRUE. To determine which ManagedSystem"
 719                   "Element is being tested, query the DiagnosticResult objects "
 720                   "associated with this test (query DiagnosticResultForTest), "
 721                   "and for which the TestState equals 4 (\"In Progress\"). "
 722                   "The DiagnosticResult object is associated with the System"
 723                   "Element under test, using DiagnosticResultForMSE.") ]
 724               boolean IsInUse;
 725               
 726               [Description(
 727                   "The \"Expensive\" qualifier can be applied to this class and "
 728                   "its RunTest method. If so, the ResourcesUsed property "
 729                   "describes the resources that are capitalized, based on a "
 730                   "default setup for the test. Multiple resources can be "
 731                   "specified since the property is an array."), 
 732                  Values{"CPU", "Memory", "Hard Disk", "CDROM", "Floppy", 
 733                         "PCI Bus", "USB Bus", "1394 Bus", "SCSI Bus", "IDE Bus", 
 734                         "Network", "ISA Bus", "EISA Bus", "VESA Bus", "PCMCIA Bus", 
 735                         "CardBus", "Access.bus", "NuBus", "AGP", "VME Bus", 
 736 kumpf 1.2               "Sbus IEEE 1396-1993", "MCA Bus", "GIO Bus", "XIO Bus", 
 737                         "HIO Bus", "PMC Bus", "SIO Bus"}]
 738               uint16 ResourcesUsed[];
 739               
 740               [Description (
 741                   "The RunTest method executes this diagnostic for the "
 742                   "specified ManagedSystemElement (defined using the "
 743                   "SystemElement input parameter). Results of the test are "
 744                   "stored in a DiagnosticResult object, a reference to "
 745                   "which is returned as the Result output parameter. "
 746                   "How the test should execute, i.e. its settings, is "
 747                   "defined in a DiagnosticSetting object (or by a subclass "
 748                   "of DiagnosticSetting). A reference to a Setting object "
 749                   "is specified using the Setting input parameter.  If a "
 750                   "reference is not passed into the method, then a default "
 751                   "DiagnosticSetting may be used. This default Setting is "
 752                   "associated with the DiagnoticTest using the DefaultSetting "
 753                   "relationship of the Core Model. \n"
 754                   "When RunTest starts execution, the settings, which are time "
 755                   "sensitive, should be evaluated and captured. This is "
 756                   "suggested since the DiagnosticSetting object can be modified "
 757 kumpf 1.2         "at any time, and therefore the current test settings could "
 758                   "be lost. \n"
 759                   "The method's return codes are expected to adhere to the XML "
 760                   "return codes as they are introduced. Currently, the standard "
 761                   "return values are: \n"
 762                   "0 = OK (function succeeded, but the test itself may have "
 763                   "failed \n"
 764                   "1 = Unspecified Error (function failed for unspecified "
 765                   "reasons) \n"
 766                   "2 = Not Implemented (function is not implemented for this "
 767                   "instance) \n"
 768                   "3 = Out Of Resources (component could not allocate required "
 769                   "resources, e.g. memory, disk space, etc.) \n"
 770                   "In a subclass, the set of possible return codes could be "
 771                   "specified, using a ValueMap qualifier on the method. The "
 772                   "strings to which the ValueMap contents are 'translated' may "
 773                   "also be specified in the subclass as a Values array "
 774                   "qualifier.") ]
 775              uint32 RunTest(
 776                   [IN] CIM_ManagedSystemElement REF SystemElement, 
 777                   [IN] CIM_DiagnosticSetting REF Setting, 
 778 kumpf 1.2         [IN (false), OUT] CIM_DiagnosticResult REF Result);   
 779               
 780               [Description (
 781                   "Execution of this method will delete all instances of the "
 782                   "DiagnosticResultForMSE object, for this DiagnosticTest "
 783                   "and the specified ManagedSystemElement (defined using the "
 784                   "SystemElement input parameter). The DiagnosticResults "
 785                   "referenced in the DiagnosticResultForMSE instances will be "
 786                   "deleted.  Also the association DiagnosticResultForTest that "
 787                   "refers to the DiagnosticResult object, and this test will "
 788                   "be deleted. \n"
 789                   "One output parameter is defined - ResultsNotCleared "
 790                   "- which is a string array that lists the keys of the "
 791                   "DiagnosticResults which could not be deleted. This "
 792                   "information enables those Results to be revisited and either "
 793                   "manually removed, or other corrective action taken. \n"
 794                   "The method's return codes are expected to adhere to the XML "
 795                   "return codes as they are introduced. Currently, the standard "
 796                   "return values are: \n"
 797                   "0 = OK (function succeeded, but the test itself may have "
 798                   "failed) \n"
 799 kumpf 1.2         "1 = Unspecified Error (function failed for unspecified "
 800                   "reasons) \n"
 801                   "2 = Not Implemented (function is not implemented for this "
 802                   "instance) \n"
 803                   "3 = Out Of Resources (component could not allocate required "
 804                   "resources, e.g. memory, disk space, etc.) \n"
 805                   "In a subclass, the set of possible return codes could be "
 806                   "specified, using a ValueMap qualifier on the method. The "
 807                   "strings to which the ValueMap contents are 'translated' may "
 808                   "also be specified in the subclass as a Values array "
 809                   "qualifier.") ]
 810               uint32 ClearResults(
 811                   [IN] CIM_ManagedSystemElement REF SystemElement, 
 812                   [IN (false), OUT] string ResultsNotCleared[]);   
 813                 
 814               [Description (
 815                   "After invocation of this method and its completion, the "
 816                   "specified test(s) will be discontinued for the indicated "
 817                   "ManagedSystemElement (defined by the SystemElement input "
 818                   "parameter). The test to discontinue is specified using the "
 819                   "Result input parameter. If all instances of this test should "
 820 kumpf 1.2         "be stopped for the SystemElement, then the Result reference "
 821                   "should be NULL. Upon completion of the method, test status "
 822                   "and other information (such as PercentComplete) will be "
 823                   "stored in the DiagnosticResult instance defined by the Result "
 824                   "input parameter. The output parameter, TestingStopped, is "
 825                   "used as follows: \n"
 826                   " Set to TRUE if testing was successfully stopped. \n"
 827                   " Set to FALSE if the current test(s) can not be stopped. \n"
 828                   "If set to FALSE, testing will stop when the diagnostic is "
 829                   "able to do so safely. To determine if/when the testing is "
 830                   "stopped, check the TestState property in the DiagnosticResult "
 831                   "instance defined by the Result parameter. TestState will "
 832                   "change from \"In Progress\" to \"Stopped\" (from 4 to 5). \n"
 833                   "The method's return codes are expected to adhere to the XML "
 834                   "return codes as they are introduced. Currently, the standard "
 835                   "return values are: \n"
 836                   "0 = OK (function succeeded, but the test itself may have "
 837                   "failed \n"
 838                   "1 = Unspecified Error (function failed for unspecified "
 839                   "reasons) \n"
 840                   "2 = Not Implemented (function is not implemented for this "
 841 kumpf 1.2         "instance) \n"
 842                   "3 = Out Of Resources (component could not allocate required "
 843                   "resources, e.g. memory, disk space, etc.) \n"
 844                   "In a subclass, the set of possible return codes could be "
 845                   "specified, using a ValueMap qualifier on the method. The "
 846                   "strings to which the ValueMap contents are 'translated' may "
 847                   "also be specified in the subclass as a Values array "
 848                   "qualifier.") ]
 849              uint32 DiscontinueTest(
 850                   [IN] CIM_ManagedSystemElement REF SystemElement, 
 851                   [IN] CIM_DiagnosticResult REF Result, 
 852                   [IN (false), OUT] Boolean TestingStopped);   
 853           };
 854           
 855           
 856           // ==================================================================
 857           // DiagnosticResultForMSE
 858           // ==================================================================
 859           [Association, Version ("2.6.0"), Description (
 860               "This is an association class relating diagnostic test "
 861               "results to the ManagedSystemElement that is/was tested.") ]
 862 kumpf 1.2 class CIM_DiagnosticResultForMSE {
 863               
 864               [Key, Description (
 865                   "The diagnostic result.") ]
 866               CIM_DiagnosticResult REF Result;
 867               
 868               [Key, Description (
 869                   "The ManagedSystemElement to which the diagnostic result "
 870                   "applies.") ]
 871               CIM_ManagedSystemElement REF SystemElement;
 872           };
 873           
 874           
 875           // ==================================================================
 876           // DiagnosticResultForTest
 877           // ==================================================================
 878           [Association, Version ("2.6.0"), Description (
 879               "This is an association class to relate the results of a test "
 880               "to the test itself.") ]
 881           class CIM_DiagnosticResultForTest {
 882               
 883 kumpf 1.2     [Key, Min (1), Max (1), Weak,
 884                   Description ("The result object.") ]
 885               CIM_DiagnosticResult REF DiagnosticResult;
 886               
 887               [Key, Min(1), Max(1),
 888                   Description ("The test that generated the result object.") ]
 889               CIM_DiagnosticTest REF DiagnosticTest;
 890           };
 891           
 892           
 893           // ==================================================================
 894           // DiagnosticTestForMSE
 895           // ==================================================================
 896           [Association, Version ("2.6.0"), Description (
 897               "This is an association class that relates a DiagnosticTest "
 898               "to a ManagedSystemElement.  Consumers wishing to 'diagnose' "
 899               "a particular Element could query this association, for the "
 900               "Element, to determine what tests are available. "
 901               "Examining the DiagnosticTestForMSE class definition, "
 902               "note that its superclass ProvidesServiceToElement is deprecated. "
 903               "Unfortunately, ProvidesServiceToElement cannot be removed from "
 904 kumpf 1.2     "the object hierarchy without a major Schema release. "
 905               "When/if this occurs, the ProvidesServiceToElement superclass "
 906               "will be removed, and DiagnosticTestForMSE will subclass "
 907               "from CIM_Dependency directly.") ]
 908           class CIM_DiagnosticTestForMSE : CIM_ProvidesServiceToElement {
 909               
 910               [Override("Antecedent"), Description (
 911                   "The test that may be run against a ManagedSystemElement.") ]
 912               CIM_DiagnosticTest REF Antecedent;
 913               
 914               [Override("Dependent"), Description (
 915                   "The ManagedSystemElement that can be tested.") ]
 916               CIM_ManagedSystemElement REF Dependent;
 917               
 918               [Units ("Seconds"), Description (
 919                   "Estimated number of seconds to perform the referenced "
 920                   "DiagnosticTest against the ManagedSystemElement. Since "
 921                   "execution times could vary by Element, this property is "
 922                   "located in the association between the two entities. It is "
 923                   "also captured in DiagnosticResult, in the Estimated"
 924                   "TimeOfPerforming property. \n" 
 925 kumpf 1.2         "A CIM Consumer can compare this value with the value in"
 926                   "DiagnosticResult to get an idea of what impact their"
 927                   "settings have on test execution."),
 928                   ModelCorrespondence {
 929                       "CIM_DiagnosticResult.EstimatedTimeOfPerforming"} ]
 930               uint32 EstimatedTimeOfPerforming;
 931               
 932               [Description (
 933                   "If the DiagnosticTest referenced in this object can be run "
 934                   "concurrently against multiple SystemElements, but only "
 935                   "run one at a time for the referenced ManagedSystemElement, "
 936                   "then this boolean is set to TRUE. Alternately, if the test "
 937                   "can NOT be run concurrently irregardless of the System"
 938                   "Elements being tested, then the more general \"Is Exclusive\" "
 939                   "enumerated value (2) should be set in DiagnosticTest."
 940                   "Characteristics.") ]
 941               boolean IsExclusiveForMSE;
 942           };
 943           
 944           
 945           // ==================================================================
 946 kumpf 1.2 // DiagnosticTestInPackage
 947           // ==================================================================
 948           [Association, Aggregation, Version ("2.7.0"), 
 949               Deprecated {"No value"}, Description (
 950               "This class is being deprecated. Tests should be grouped at " 
 951               "the test level, not in the model. Therefore, the association "
 952               "is not appropriate. /n"
 953               "This is an association class that identifies a Diagnostic"
 954               "Test as made up of lower level Tests. In this case, the "
 955               "test identified as the GroupComponent reference (i.e, "
 956               "the higher level test) would have the \"Is Package\" "
 957               "enumerated value specified in DiagnosticTest."
 958               "Characteristics.") ]
 959           class CIM_DiagnosticTestInPackage : CIM_Component {
 960           
 961               [Override("GroupComponent"), Aggregate, 
 962                   Deprecated {"No value"}, Description (
 963                       "The DiagnosticTest object that acts as the "
 964                       "container for all the tests of the package.") ]
 965               CIM_DiagnosticTest REF GroupComponent;
 966               
 967 kumpf 1.2     [Override("PartComponent"), 
 968                   Deprecated {"No value"}, Description (
 969                       "The DiagnosticTest object that is one of the elements of "
 970                       "the package.") ]
 971               CIM_DiagnosticTest REF PartComponent;  
 972           };
 973           
 974                
 975           // ==================================================================
 976           // DiagnosticResultInPackage
 977           // ==================================================================
 978           [Association, Aggregation, Version ("2.7.0"), 
 979               Deprecated {"No value"}, Description (
 980               "This class is being deprecated. Tests should be " 
 981               "grouped at the test level, not by the model. Therefore, "
 982               "this association is no longer appropriate. /n"
 983               "This is an association class that identifies a Diagnostic"
 984               "Result as made up of lower level Results. In this case, the "
 985               "Result identified as the PackageResult reference (i.e., "
 986               "the higher level result) would have its IsPackage property "
 987               "set to TRUE.") ]
 988 kumpf 1.2 class CIM_DiagnosticResultInPackage {
 989                 
 990               [Key, Aggregate, Deprecated {"No value"}, Description (
 991                   "The DiagnosticResult object that acts as the container "
 992                   "for all the results of the package.") ]
 993               CIM_DiagnosticResult REF PackageResult;
 994                 
 995               [Key, Deprecated {"No value"}, Description (
 996                   "The DiagnosticResult object that is one of the elements of "
 997                   "the package.") ]
 998               CIM_DiagnosticResult REF Result; 
 999           }; 
1000           
1001           
1002           // ==================================================================
1003           // DiagnosticSettingForTest
1004           // ==================================================================
1005           [Association, Version ("2.6.0"), Description (
1006               "This is an association class to relate test settings with "
1007               "diagnostic tests.") ]
1008           class CIM_DiagnosticSettingForTest : CIM_ElementSetting {
1009 kumpf 1.2     
1010               [Override("Element"), Description (
1011                   "The Test that can use the Setting object.") ]
1012               CIM_DiagnosticTest REF Element;
1013               
1014               [Override("Setting"), Description (
1015                   "The Setting that can be applied to the execution of the "
1016                   "DiagnosticTest.") ]
1017               CIM_DiagnosticSetting REF Setting;
1018           };
1019           
1020           
1021           // ===================================================================
1022           // end of file
1023           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2