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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2