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

   1 karl  1.2 // ===================================================================
   2           // Title:       Physical MOF Specification 2.6
   3           // Filename:    CIM_Physical26.mof
   4           // Version:     2.6.0
   5           // Status:      Final
   6           // Date:        06/04/2002
   7           // ===================================================================
   8           // Copyright 1998-2002 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 karl  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 karl  1.2 // ===================================================================
  44           // Description: The Physical Model defines the management concepts
  45           //              related to the physical aspects of Products, Systems,
  46           //              and Devices.  These concepts include Racks, Chassis,
  47           //              Cards, Connectors, Components (chips), etc. 
  48           //
  49           //              The object classes below are listed in an order that
  50           //              avoids forward references. Required objects, defined 
  51           //              by other working groups, are omitted.
  52           // ==================================================================
  53           //    - CR237 Remove CompatibilityList from PhysicalPackage
  54           //    - CR246 Update mapping from DMI Master.MIF 
  55           //    - CR247 Remove repetition of Values arrays from the property 
  56           //        Descriptions
  57           //    - CR248 Add WriteProtectOn boolean to PhysicalMedia
  58           //    - CR253 Add PhysicalCapacity and subclasses, Remove MemoryCard
  59           //    - CR255b Create AdjacentSlots association / Delete several Slot 
  60           //        properties from Card and the SharedSlots association
  61           //    - CR256 Add VisibleAlarm boolean to Rack and Chassis
  62           //    - CR257 Add an association, MemoryWithMedia
  63           //    - CR258a and 289 - Add SpecialPurpose info to Slot
  64 karl  1.2 //    - CR260 Remove Max (1) from the Antecedent reference of CardInSlot
  65           //    - CR262 Add RequiresDautherBoard boolean to CIM_Card
  66           //    - CR263 Change description of CardOnCard.GroupComponent
  67           //    - CR264 Add CleanerMedia boolean to PhysicalMedia
  68           //    - CR266 Add PackageAlarm association
  69           //    - CR267 Make all measurements of datatype, real
  70           //    - CR269 Change the "Replaceable" descriptions for Physical
  71           //        Package and PhysicalComponent
  72           //    - CR278a Add MediaType property to PhysicalLink
  73           //    - CR279a Add an Index property to Slot
  74           //    - CR280 Replace SlotAdapter property with an association, 
  75           //        SlotInSlot
  76           //    - CR281a Add SpecialRequirements info to Card
  77           //    - CR283 Add a new association PackageInSlot, and reparent 
  78           //        CardInSlot to be its child
  79           //    - CR284a Define a new association, ConnectedTo
  80           //    - CR286a Add TypeOfRack enumeration and CountryDesignation 
  81           //        string to Rack
  82           //    - CR287 Create superclass of Rack and Chassis, PhysicalFrame
  83           //    - CR290 Add ModelCorrespondence to "linked" properties
  84           // Date: 06/09/1999
  85 karl  1.2 //    - CR339 Define AdapterActiveConnection association
  86           //    - CR349 Add OperatingVoltages property to Card
  87           //    - CR350 Add PlatformGUID to ComputerSystemPackage
  88           //    - CR355a Update the method descriptions for IsCompatible
  89           //        indicating that Values-ValueMap qualifiers can be defined 
  90           //        for return codes
  91           //    - CR356a Put keys on the references of PhysicalElementLocation,
  92           //        ElementCapacity, ParticipatesInSet and AdjacentSlots
  93           //    - CR365 Clarify the Description for RealizesDiskPartition
  94           //    - CR378a Miscellaneous changes to enumerations, creating new
  95           //        properties and subclasses, and updating the DMI 
  96           //        MappingStrings
  97           //    - CR379a Update MappingStrings to align with the DMI master.mif
  98           //    - CR392a Tape support
  99           //    - CR405 Add Counter qualifier to PhysicalMedia.MountCount and
 100           //        all properties of MediaPhysicalStatInfo
 101           //    - CR407 Add to the enumeration for StorageMediaLocation.
 102           //        LocationType and add property, MediaCapacity (StorageMedia 
 103           //        Location originally defined in CR392)
 104           //    - CR417a Add to the enumeration for ConfigurationCapacity.
 105           //        ObjectType and updated the class Description (originally 
 106 karl  1.2 //        defined in CR392)
 107           //    - CR418a Update Slot Description, Create RealizesExtent 
 108           //        association and change subclassing for other Realizes 
 109           //        relationships to use RealizesExtent
 110           //    - CR419 Remove Max (1) from the MediaTransferDevice reference
 111           //        for DeviceServicesLocation (originally defined in CR392)
 112           //    - CR420 Add CD-DA, CD+, DVD-Audio and DVD-5,9,10,18 formats to  
 113           //        StorageMediaLocation.MediaTypesSupported and 
 114           //        PhysicalMedia.MediaType
 115           // Date: 07/06/1999 - Version 2.2.1
 116           //    - CR423 Locale should be specified as en_US
 117           //    - CR425 Update the DMI MappingStrings using the June
 118           //        release of the master.mif
 119           // Date: 02/18/2000 - Version 2.3
 120           //    - CR431 Update MappingStrings
 121           //    - CR433 Add new properties and enums from Master.MIF and new 
 122           //        ModelCorrespondences 
 123           //    - CR435 Add additional types (Front and Back Side I/O slots, NVS,
 124           //        Volatile, and Cache Memory) to ConfigurationCapacity. 
 125           //    - CR445e, Modify the Card class to add a ConnectorPower method
 126           //    - CR459 Add InfiniBand to the list of connectors/bus types
 127 karl  1.2 //    - CR461 Subclass from CIM_ManagedElement Location, 
 128           //            PhysicalCapacity and ReplacementSet; Remove Description 
 129           //            and Caption where inherited
 130           // Date: 06/09/2000 - Version 2.4
 131           //    - CR478 A variety of changes related to modeling the physical 
 132           //        aspects of storage and StorageLibraries. 
 133           //        1. New property, Inaccessible, to DeviceServicesLocation 
 134           //           association.
 135           //        2. Add to the enumeration for PhysicalMedia.LabelFormats
 136           //        3. Add two new properties to PhysicalMedia
 137           //        4. Define a new association, RealizedOnSide
 138           //        5. New properties to association, PhysicalMediaInLocation.
 139           //        6. Define a new association, HomeForMedia
 140           //        7. Update description for Container.LocationWithinContainer.
 141           //    - CR487, Further updates to the Storage and Storage Library Models 
 142           //        1. New property, TypeDescriptions, to StorageMediaLocation.
 143           //        2. Update ModelCorrespondence for StorageMediaLocation.
 144           //           MediaTypesSupported due to changes in #1.  
 145           //        3. Update the Description for StorageMediaLocation.
 146           //           MediaTypesSupported to reflect that additional info is 
 147           //           contained in the TypeDescriptions array.
 148 karl  1.2 //        4. Add a new class, Magazine.
 149           //    - CR495, Change the Values list for CIM_MemoryCapacity.MemoryType
 150           //        and CIM_PhysicalMemory.MemoryType 
 151           // Date: 12/01/2000 - Version 2.5
 152           //    - CR534 Update MappingStrings Qualifiers to stay in sync with 
 153           //        updates to the MASTER.MIF.
 154           // Date: 6/12/2001 - Version 2.6
 155           //    Updated the formatting of the classes to match other MOFs
 156           // Date: 03/22/2002 - Version 2.6 Final
 157           //    - CR746 Add the version qualifier to all classes.
 158           //    - CR755 Move the definition of classes to prevent forward
 159           //        reference 
 160           //    - Fixed lines that exceeded 72 characters.
 161           // ===================================================================
 162           
 163           
 164           // ===================================================================
 165           // Generic Pragmas
 166           // ===================================================================
 167           #pragma locale ("en_US")
 168           
 169 karl  1.2 // ===================================================================
 170           //  UML Page 1 - General Physical Classes
 171           // ===================================================================
 172           // ===================================================================
 173           // Location
 174           // ===================================================================
 175              [Version ("2.6.0"), Description (
 176                "The Location class specifies the position and address of "
 177                "a PhysicalElement.") ]
 178           class CIM_Location : CIM_ManagedElement {
 179                 [Key, MaxLen (256), 
 180                  Description (
 181                   "Name is a free-form string defining a label for the "
 182                   "Location. It is a part of the key for the object.") ]
 183              string Name;
 184                 [Key, MaxLen (256), 
 185                  Description (
 186                   "Position is a free-form string indicating the placement "
 187                   "of a PhysicalElement.  It can specify slot information on "
 188                   "a HostingBoard, mounting site in a Cabinet, or latitude and "
 189                   "longitude information, for example, from a GPS. It is "
 190 karl  1.2         "part of the key of the Location object.") ]
 191              string PhysicalPosition;
 192                 [MaxLen (1024), 
 193                  Description (
 194                   "Address is a free-form string indicating a street, building "
 195                   "or other type of address for the PhysicalElement's "
 196                   "Location.") ]
 197              string Address;
 198           };
 199           
 200           
 201           // ==================================================================
 202           // PhysicalElementLocation
 203           // ==================================================================
 204              [Association, Version ("2.6.0"), Description (
 205                "PhysicalElementLocation associates a PhysicalElement with "
 206                "a Location object for inventory or replacement purposes.") ]
 207           class CIM_PhysicalElementLocation {
 208                 [Key, Description (
 209                   "The PhysicalElement whose Location is specified.") ]
 210              CIM_PhysicalElement REF Element;
 211 karl  1.2       [Key, Max (1),
 212                  Description ("The PhysicalElement's Location.") ]
 213              CIM_Location REF PhysicalLocation;
 214           };
 215           
 216           
 217           // ==================================================================
 218           // ReplacementSet
 219           // ==================================================================
 220              [Version ("2.6.0"), Description (
 221                "The ReplacementSet class aggregates PhysicalElements that "
 222                "must be 'replaced' or 'FRUed' together. For example, when "
 223                "replacing a memory card, the component memory chips could "
 224                "be removed and replaced as well. Or, a set of memory chips "
 225                "may be specified to be replaced or upgraded together using "
 226                "this association.") ]
 227           class CIM_ReplacementSet : CIM_ManagedElement {
 228                 [Key, MaxLen (256),
 229                  Description (
 230                   "Name is a free-form string defining a label for the "
 231                   "ReplacementSet. It is the key for the object.") ]
 232 karl  1.2    string Name;
 233           };
 234           
 235           
 236           // ==================================================================
 237           // ParticipatesInSet
 238           // ==================================================================
 239              [Association, Aggregation, Version ("2.6.0"), Description (
 240                "ParticipatesInSet indicates which PhysicalElements should "
 241                "be replaced together.") ]
 242           class CIM_ParticipatesInSet {
 243                 [Key, Aggregate,
 244                  Description ("The ReplacementSet.") ]
 245              CIM_ReplacementSet REF Set;
 246                 [Key, Description (
 247                   "The PhysicalElement which should be replaced with other "
 248                   "Elements, as a Set.") ]
 249              CIM_PhysicalElement REF Element;
 250           };
 251           
 252           
 253 karl  1.2 // ===================================================================
 254           //  UML Page 2 - PhysicalPackage, Connectors & Links
 255           // ===================================================================
 256           // ==================================================================
 257           // PhysicalConnector
 258           // ==================================================================
 259              [Version ("2.6.0"), Description (
 260                "The PhysicalConnector class represents any PhysicalElement "
 261                "that is used to connect to other Elements. Any object that "
 262                "can be used to connect and transmit signals or power between "
 263                "two or more PhysicalElements is a descendant (or member) "
 264                "of this class. For example, Slots and D-shell connectors are "
 265                "types of PhysicalConnectors.") ]
 266           class CIM_PhysicalConnector : CIM_PhysicalElement {
 267                 [Description (
 268                   "A free-form string describing the pin configuration and "
 269                   "signal usage of a PhysicalConnector.") ]
 270              string ConnectorPinout;
 271                 [Description (
 272                   "An array of integers defining the type of PhysicalConnector. "
 273                   "An array is specified to allow the description of "
 274 karl  1.2         "'combinations' of Connector information. For example, one "
 275                   "array entry could specify RS-232 (value=25), another DB-25 "
 276                   "(value=23) and a third entry define the Connector as \"Male\" "
 277                   "(value=2)."),
 278                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
 279                          "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", 
 280                          "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", 
 281                          "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", 
 282                          "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", 
 283                          "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", 
 284                          "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", 
 285                          "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", 
 286                          "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", 
 287                          "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", 
 288                          "101", "102", "103", "104", "105", "106", "107", "108", "109", 
 289                          "110", "111", "112", "113", "114", "115", "116", "117", "118", 
 290                          "119", "120", "121"}, 
 291                  Values {"Unknown", "Other", "Male", "Female", "Shielded",
 292                          "Unshielded", "SCSI (A) High-Density (50 pins)",
 293                          "SCSI (A) Low-Density (50 pins)",
 294                          "SCSI (P) High-Density (68 pins)", 
 295 karl  1.2                "SCSI SCA-I (80 pins)", "SCSI SCA-II (80 pins)", 
 296                          // 11   
 297                          "Fibre Channel (DB-9, Copper)",
 298                          "Fibre Channel (Optical Fibre)",
 299                          "Fibre Channel SCA-II (40 pins)", 
 300                          "Fibre Channel SCA-II (20 pins)", "Fibre Channel BNC",
 301                          "ATA 3-1/2 Inch (40 pins)", "ATA 2-1/2 Inch (44 pins)",
 302                          "ATA-2", "ATA-3", "ATA/66", "DB-9", "DB-15", "DB-25",
 303                          "DB-36", "RS-232C", "RS-422", "RS-423", "RS-485", 
 304                          "RS-449", "V.35", 
 305                          // 31  
 306                          "X.21", "IEEE-488", "AUI", 
 307                          "UPT Category 3", "UPT Category 4", "UPT Category 5", 
 308                          "BNC", "RJ11", "RJ45", "Fiber MIC", "Apple AUI", 
 309                          "Apple GeoPort", "PCI", "ISA", "EISA", "VESA", "PCMCIA", 
 310                          "PCMCIA Type I", "PCMCIA Type II", "PCMCIA Type III", 
 311                          // 51               
 312                          "ZV Port", "CardBus", "USB", "IEEE 1394", "HIPPI", 
 313                          "HSSDC (6 pins)", "GBIC", "DIN", "Mini-DIN", "Micro-DIN", 
 314                          "PS/2", "Infrared", "HP-HIL", "Access.bus", "NuBus", 
 315                          "Centronics", "Mini-Centronics", 
 316 karl  1.2                "Mini-Centronics Type-14",
 317                          "Mini-Centronics Type-20", "Mini-Centronics Type-26",
 318                          // 71
 319                          "Bus Mouse", "ADB", "AGP", "VME Bus", "VME64",
 320                          "Proprietary", "Proprietary Processor Card Slot",
 321                          "Proprietary Memory Card Slot", 
 322                          "Proprietary I/O Riser Slot",
 323                          "PCI-66MHZ", "AGP2X", "AGP4X", "PC-98", "PC-98-Hireso",
 324                          "PC-H98", "PC-98Note", "PC-98Full", "SSA SCSI",
 325                          "Circular", "On Board IDE Connector", 
 326                          "On Board Floppy Connector", "9 Pin Dual Inline", 
 327                          "25 Pin Dual Inline", "50 Pin Dual Inline",
 328                          "68 Pin Dual Inline", "On Board Sound Connector", 
 329                          "Mini-jack", "PCI-X", "Sbus IEEE 1396-1993 32 bit",
 330                          // 100                
 331                          "Sbus IEEE 1396-1993 64 bit", "MCA", "GIO", "XIO", 
 332                          "HIO", "NGIO", "PMC", "MTRJ", "VF-45", "Future I/O",
 333                          "SC", "SG", "Electrical", "Optical", "Ribbon", "GLM", 
 334                          "1x9", "Mini SG", "LC", "HSSC",
 335                          // 120 
 336                          "VHDCI Shielded (68 pins)", "InfiniBand"},
 337 karl  1.2        MappingStrings {"MIF.DMTF|Bus Port|003 and 12"}, 
 338                  ModelCorrespondence {
 339                     "CIM_PhysicalConnector.OtherTypeDescription"} ]
 340              uint16 ConnectorType[];
 341                 [Description (
 342                   "A string describing the Connector - used when the "
 343                   "ConnectorType property is set to 1 (\"Other\"). OtherType "
 344                   "Description should be set to NULL when ConnectorType is any "
 345                   "value other than 1."),
 346                  ModelCorrespondence {"CIM_PhysicalConnector.ConnectorType"},
 347                  MappingStrings {"MIF.DMTF|Bus Port|003"} ]
 348              string OtherTypeDescription;
 349           };
 350           
 351           
 352           // ===================================================================
 353           // ConnectedTo
 354           // ===================================================================
 355              [Association, Version ("2.6.0"), Description (
 356                "The ConnectedTo association indicates that two or "
 357                "more PhysicalConnectors are connected together.") ] 
 358 karl  1.2 class CIM_ConnectedTo : CIM_Dependency {
 359                 [Override ("Antecedent"),
 360                  Description ("The Antecedent represents a PhysicalConnector "
 361                   "that serves as one end of the connection.") ]
 362              CIM_PhysicalConnector REF Antecedent;
 363                 [Override ("Dependent"),
 364                  Description (
 365                   "The Dependent represents another PhysicalConnector "
 366                   "that serves as the other end of the connection.") ]
 367              CIM_PhysicalConnector REF Dependent;
 368           };
 369           
 370           
 371           // ===================================================================
 372           // Slot
 373           // ===================================================================
 374              [Version ("2.6.0"), Description (
 375                "The Slot class represents Connectors into which Packages are "
 376                "inserted. For example, a PhysicalPackage that is a DiskDrive "
 377                "may be inserted into an SCA 'Slot'. As another example, "
 378                "a Card (subclass of PhysicalPackage) may be inserted into "
 379 karl  1.2      "a 16-, 32-, or 64-bit expansion 'Slot' on a HostingBoard. "
 380                "PCI or PCMCIA Type III Slots are examples of the latter.") ]
 381           class CIM_Slot : CIM_PhysicalConnector {
 382                 [Override ("ConnectorType"),
 383                  MappingStrings {"MIF.DMTF|System Slot|005.2"} ]
 384              uint16 ConnectorType[];
 385                 [Description (
 386                   "Boolean indicating whether the Slot supports hot-plug of "
 387                   "adapter Cards.") ]
 388              boolean SupportsHotPlug;
 389                 [Description (
 390                   "Maximum height of an adapter Card that can be inserted into "
 391                   "the Slot, in inches."),
 392                  Units ("Inches") ]
 393              real32 HeightAllowed;
 394                 [Description (
 395                   "Maximum length of an adapter Card that can be inserted into "
 396                   "the Slot, in inches."),
 397                  Units ("Inches") ]
 398              real32 LengthAllowed;
 399                 [Description (
 400 karl  1.2         "Maximum bus width of adapter Cards that can be inserted into "
 401                   "this Slot, in bits. If the value is 'unknown', enter 0. If "
 402                   "the value is other than 8, 16, 32, 64 or 128, enter 1."),
 403                  Units ("Bits"),
 404                  ValueMap {"0", "1", "8", "16", "32", "64", "128"},
 405                  MappingStrings {"MIF.DMTF|System Slot|005.3"} ]
 406              uint16 MaxDataWidth;
 407                 [Description (
 408                   "An array of enumerated integers indicating the Vcc voltage "
 409                   "supported by this Slot."),
 410                  ValueMap {"0", "1", "2", "3"},
 411                  Values {"Unknown", "Other", "3.3V", "5V"},
 412                  MappingStrings {"MIF.DMTF|System Slot|005.9"} ]
 413              uint16 VccMixedVoltageSupport[];
 414                 [Description (
 415                   "An array of enumerated integers indicating the Vpp voltage "
 416                   "supported by this Slot."),
 417                  ValueMap {"0", "1", "2", "3", "4"},
 418                  Values {"Unknown", "Other", "3.3V", "5V", "12V"},
 419                  MappingStrings {"MIF.DMTF|System Slot|005.10"} ]
 420              uint16 VppMixedVoltageSupport[];
 421 karl  1.2       [Description (
 422                   "Maximum thermal dissipation of the Slot in milliwatts."),
 423                  Units ("MilliWatts"),
 424                  MappingStrings {"MIF.DMTF|System Slot|005.11"} ]
 425              uint32 ThermalRating;
 426                 [Description (
 427                   "Boolean indicating that this Slot is physically unique "
 428                   "and may hold special types of hardware, e.g. a graphics "
 429                   "processor slot. If set to TRUE, then the property, Special"
 430                   "PurposeDescription (a string), should specify the nature of "
 431                   "the uniqueness or purpose of the Slot."),
 432                  ModelCorrespondence {"CIM_Slot.PurposeDescription"} ]
 433              boolean SpecialPurpose;
 434                 [Description ("A free-form string describing that this Slot is "
 435                   "physically unique and may hold special types of hardware. "
 436                   "This property only has meaning when the corresponding "
 437                   "boolean property, SpecialPurpose, is set to TRUE."),
 438                  ModelCorrespondence {"CIM_Slot.SpecialPurpose"} ]
 439              string PurposeDescription;
 440                 [Description ("The Number property indicates the physical slot "
 441                   "number, which can be used as an index into a system "
 442 karl  1.2         "slot table, whether or not that slot is physically occupied."),
 443                  MappingStrings {"MIF.DMTF|System Slot|005.1"} ]
 444              uint16 Number;
 445                 [Description (
 446                   "A boolean indicating whether the Slot is currently "
 447                   "powered (TRUE) or not (FALSE)."),
 448                  MappingStrings {"MIF.DMTF|System Slot|005.13"} ]
 449               boolean Powered;
 450                 [Description (
 451                   "A boolean indicating whether the switch state of the Slot "
 452                   "is currently open (TRUE) or closed (FALSE). This switch state "
 453                   "determines whether the contents of the Slot can be "
 454                   "hot-plugged."),
 455                  MappingStrings {"MIF.DMTF|System Slot|005.15"} ]
 456               boolean OpenSwitch;
 457           };
 458           
 459           
 460           // ==================================================================
 461           // SlotInSlot 
 462           // ==================================================================
 463 karl  1.2    [Association, Version ("2.6.0"), Description (
 464                "Slots are special types of Connectors into which "
 465                "adapter Cards are typically inserted. The SlotInSlot "
 466                "relationship represents the ability of a special adapter to "
 467                "extend the existing Slot structure to enable otherwise "
 468                "incompatible Cards to be plugged into a Frame or Hosting"
 469                "Board. The adapter effectively creates a new Slot and can "
 470                "be thought of (conceptually) as a Slot in a Slot. This "
 471                "enables Cards that would otherwise be physically and/or "
 472                "electrically incompatible with the existing Slots to be "
 473                "supported, by interfacing to the Slot provided by the "
 474                "adapter. This has many practical uses. For example, "
 475                "networking boards are very expensive. As new hardware "
 476                "becomes available, Chassis and even Card configurations "
 477                "change. To protect the investment of their customers, "
 478                "networking vendors will manufacture special adapters "
 479                "that enable old Cards to fit into new Chassis or Hosting"
 480                "Boards and/or new Cards to fit into old. This is done using "
 481                "a special adapter that fits over one or more existing Slots "
 482                "and presents a new Slot into which the Card can plug.") ]
 483           class CIM_SlotInSlot : CIM_ConnectedTo {
 484 karl  1.2       [Override ("Antecedent"),
 485                  Description ("The Antecedent represents the existing Slot(s) "
 486                   "of the HostingBoard, or Frame that are being adapted "
 487                   "to accommodate a Card that would otherwise not be "
 488                   "physically and/or electrically compatible with it.") ]
 489              CIM_Slot REF Antecedent;
 490                 [Override ("Dependent"), Max (1),
 491                  Description ("The new Slot provided by the adapter board.") ]
 492              CIM_Slot REF Dependent;
 493           };
 494           
 495           
 496           // ==================================================================
 497           // AdjacentSlots
 498           // ==================================================================
 499              [Association, Version ("2.6.0"), Description (
 500                "AdjacentSlots describes the layout of Slots on a "
 501                "HostingBoard or adapter Card.  Information like the distance "
 502                "between the Slots and whether they are 'shared' (if one is "
 503                "populated, then the other Slot can not be used), is conveyed "
 504                "as properties of the association.") ]
 505 karl  1.2 class CIM_AdjacentSlots {
 506                 [Key, Description ("One of the adjacent Slots.") ]
 507              CIM_Slot REF SlotA;
 508                 [Key, Description ("The 'other' adjacent Slot.") ]
 509              CIM_Slot REF SlotB;
 510                 [Description ("The distance, in inches, between adjacent Slots."),
 511                  Units ("Inches") ]
 512              real32 DistanceBetweenSlots;
 513                 [Description ("Slots can be located in close proximity on Hosting"
 514                   "Boards or other Cards, such that if one of these Slots is "
 515                   "populated by an adapter Card, the other Slot must be left "
 516                   "empty. This relationship is indicated by the SharedSlots "
 517                   "boolean set to TRUE.") ]
 518              boolean SharedSlots;
 519           };
 520           
 521           
 522           // ==================================================================
 523           // PhysicalPackage
 524           // ==================================================================
 525              [Version ("2.6.0"), Description (
 526 karl  1.2      "The PhysicalPackage class represents PhysicalElements that "
 527                "contain or host other components. Examples are a Rack "
 528                "enclosure or an adapter Card.") ]
 529           class CIM_PhysicalPackage : CIM_PhysicalElement {
 530                 [Description (
 531                   "A PhysicalPackage is Removable if it is designed to be "
 532                   "taken in and out of the physical container in which it is "
 533                   "normally found, without impairing the function of the "
 534                   "overall packaging. A Package can still be Removable if "
 535                   "power must be 'off' in order to perform the removal. If "
 536                   "power can be 'on' and the Package removed, then the Element "
 537                   "is both Removable and HotSwappable. For example, an extra "
 538                   "battery in a laptop is Removable, as is a disk drive Package "
 539                   "inserted using SCA connectors. However, the latter is also "
 540                   "HotSwappable.  A laptop's display is not Removable, nor "
 541                   "is a non-redundant power supply.  Removing these "
 542                   "components would impact the function of the overall packaging "
 543                   "or is impossible due to the tight integration of the "
 544                   "Package.") ]
 545              boolean Removable;
 546                 [Description (
 547 karl  1.2         "A PhysicalPackage is Replaceable if it is possible to "
 548                   "replace (FRU or upgrade) the Element with a physically "
 549                   "different one.  For example, some ComputerSystems "
 550                   "allow the main Processor chip to be upgraded to one of a "
 551                   "higher clock rating. In this case, the Processor is said "
 552                   "to be Replaceable. Another example is a power supply "
 553                   "Package mounted on sliding rails. All Removable packages "
 554                   "are inherently Replaceable.") ]
 555              boolean Replaceable;
 556                 [Description (
 557                   "A PhysicalPackage is HotSwappable if it is possible to "
 558                   "replace the Element with a physically different "
 559                   "but equivalent one while the containing Package has power "
 560                   "applied to it (ie, is 'on').  For example, a disk drive "
 561                   "Package inserted using SCA connectors is both Removable "
 562                   "and HotSwappable. All HotSwappable packages are inherently "
 563                   "Removable and Replaceable.") ]
 564              boolean HotSwappable;
 565                 [Description (
 566                   "The height of the PhysicalPackage in inches."),
 567                  Units ("Inches") ]
 568 karl  1.2    real32 Height;
 569                 [Description (
 570                   "The depth of the PhysicalPackage in inches."),
 571                  Units ("Inches") ]
 572              real32 Depth;
 573                 [Description (
 574                   "The width of the PhysicalPackage in inches."),
 575                  Units ("Inches") ]
 576              real32 Width;
 577                 [Description (
 578                   "The weight of the PhysicalPackage in pounds."),
 579                  Units ("Pounds") ]
 580              real32 Weight;
 581                 [Description (
 582                   "The IsCompatible method verifies whether the referenced "
 583                   "PhysicalElement may be contained by or inserted into "
 584                   "the PhysicalPackage. The return value should be 0 if "
 585                   "the request was successfully executed, 1 if the request "
 586                   "is not supported and some other value if an error "
 587                   "occurred. In a subclass, the set of possible return codes "
 588                   "could be specified, using a ValueMap qualifier on the "
 589 karl  1.2         "method. The strings to which the ValueMap contents are "
 590                   "'translated' may also be specified in the subclass as a "
 591                   "Values array qualifier.") ]
 592              uint32 IsCompatible([IN] CIM_PhysicalElement REF ElementToCheck);
 593           };
 594           
 595           
 596           // ==================================================================
 597           // Container
 598           // ==================================================================
 599              [Association, Aggregation, Version ("2.6.0"), Description (
 600                "The Container association represents the relationship "
 601                "between a contained and a containing PhysicalElement. "
 602                "A containing object must be a PhysicalPackage.") ]
 603           class CIM_Container : CIM_Component {
 604                 [Override ("GroupComponent"),
 605                  Aggregate, Max (1),
 606                  Description (
 607                   "The PhysicalPackage that contains other PhysicalElements, "
 608                   "including other Packages.") ]
 609              CIM_PhysicalPackage REF GroupComponent;
 610 karl  1.2       [Override ("PartComponent"),
 611                  Description (
 612                   "The PhysicalElement which is contained in the Package.") ]
 613              CIM_PhysicalElement REF PartComponent;
 614                 [Description (
 615                   "A free-form string representing the positioning of the "
 616                   "PhysicalElement within the PhysicalPackage. Information "
 617                   "relative to stationary elements in the Container (for "
 618                   "example, 'second drive bay from the top'), angles, "
 619                   "altitudes and other data may be recorded in this property. "
 620                   "This string could supplement or be used in place of "
 621                   "instantiating the CIM_Location object.") ]
 622              string LocationWithinContainer;
 623           };
 624           
 625           
 626           // ==================================================================
 627           // PhysicalFrame
 628           // ==================================================================
 629              [Version ("2.6.0"), Description (
 630                "PhysicalFrame is a superclass of Rack, Chassis and "
 631 karl  1.2      "other frame enclosures, as they are defined in extension "
 632                "classes. Properties like visible or audible alarm, and data "
 633                "related to security breaches are in this superclass." ) ]
 634           class CIM_PhysicalFrame : CIM_PhysicalPackage {
 635                 [Description ("CableManagementStrategy is a free-form string "
 636                   "that contains information on how the various cables are "
 637                   "connected and bundled for the Frame. With many networking, "
 638                   "storage-related and power cables, cable management can be "
 639                   "a complex and challenging endeavor. This string property "
 640                   "contains information to aid in assembly and service "
 641                   "of the Frame.") ]
 642              string CableManagementStrategy;
 643                 [Description (
 644                   "ServicePhilosophy is an enumerated, integer-valued "
 645                   "array that indicates whether the Frame is serviced from the "
 646                   "top (value=2), front (3), back (4) or side (5), whether it "
 647                   "has sliding trays (6) or removable sides (7), and/or whether "
 648                   "the Frame is moveable (8), for example, having rollers."),
 649                  ArrayType ("Indexed"), 
 650                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
 651                  Values {"Unknown", "Other", "Service From Top"
 652 karl  1.2                "Service From Front", "Service From Back", 
 653                          "Service From Side", "Sliding Trays", 
 654                          "Removable Sides", "Moveable"},
 655                  ModelCorrespondence {"CIM_PhysicalFrame.ServiceDescriptions"} ]
 656              uint16 ServicePhilosophy[];
 657                 [Description ("An array of free-form strings providing more "
 658                   "detailed explanations for any of the entries in the Service"
 659                   "Philosophy array. Note, each entry of this array "
 660                   "is related to the entry in ServicePhilosophy that is "
 661                   "located at the same index."),
 662                  ArrayType ("Indexed"),
 663                  ModelCorrespondence {"CIM_PhysicalFrame.ServicePhilosophy"} ]
 664              string ServiceDescriptions[];
 665                 [Description ("Boolean indicating whether the Frame is protected "
 666                   "with a lock.") ]
 667              boolean LockPresent;
 668                 [Description ("Boolean indicating whether the Frame is equipped "
 669                   "with an audible alarm.") ]
 670              boolean AudibleAlarm; 
 671                 [Description ("Boolean indicating that the equipment includes "
 672                   "a visible alarm.") ]
 673 karl  1.2    boolean VisibleAlarm;
 674                 [Description ("SecurityBreach is an enumerated, integer-valued "
 675                   "property indicating whether a physical breach of the Frame "
 676                   "was attempted but unsuccessful (value=4) or attempted and "
 677                   "successful (5). Also, the values, \"Unknown\", \"Other\" or "
 678                   "\"No Breach\", can be specified."),
 679                  ValueMap {"1", "2", "3", "4", "5"},
 680                  Values {"Other", "Unknown", "No Breach", "Breach Attempted", 
 681                          "Breach Successful"},
 682                  MappingStrings {
 683                   "MIF.DMTF|Physical Container Global Table|004"},
 684                  ModelCorrespondence {"CIM_PhysicalFrame.BreachDescription"} ]
 685              uint16 SecurityBreach;
 686                 [Description ("BreachDescription is a free-form string providing "
 687                   "more information if the SecurityBreach property indicates "
 688                   "that a breach or some other security-related event "
 689                   "occurred."),
 690                  ModelCorrespondence {"CIM_PhysicalFrame.SecurityBreach"} ]
 691              string BreachDescription;
 692                 [Description (
 693                   "Boolean indicating that the Frame is currently locked.") ]
 694 karl  1.2    boolean IsLocked;
 695           };
 696           
 697           
 698           // ==================================================================
 699           // Rack
 700           // ==================================================================
 701              [Version ("2.6.0"), Description (
 702                "A Rack is a PhysicalFrame that represents an enclosure in "
 703                "which Chassis are placed. Typically a Rack is nothing more "
 704                "than the enclosure, and all the functioning componentry is "
 705                "packaged in the Chassis, loaded in the Rack.") ]
 706           class CIM_Rack : CIM_PhysicalFrame {
 707                 [Override ("Height"),
 708                  Description (
 709                   "The height of the PhysicalPackage in 'U's. A 'U' is a "
 710                   "standard unit of measure for the height of a Rack or "
 711                   "rack-mountable component. It is equal to 1.75 inches or "
 712                   "4.445 cm."),
 713                  Units ("Us") ]
 714              real32 Height;
 715 karl  1.2       [Description ("Enumeration indicating the type of Rack."
 716                   "Information such as \"Telco\" rack (value=2) or standard "
 717                   "19 inch rack (1) can be specified. The country for which "
 718                   "the Rack is manufactured is defined in the the Country"
 719                   "Designation property."),
 720                  ValueMap {"0", "1", "2", "3", "4"},
 721                  Values {"Unknown", "Standard 19 Inch", "Telco", 
 722                          "Equipment Shelf", "Non-Standard"},
 723                  ModelCorrespondence {"CIM_Rack.CountryDesignation"} ]
 724              uint16 TypeOfRack;
 725                 [Description ("Designation of the country for which the Rack "
 726                   "is designed. Country code strings are as defined by "
 727                   "ISO/IEC 3166. The rack type is specified in the TypeOf"
 728                   "Rack property."),
 729                  ModelCorrespondence {"CIM_Rack.TypeOfRack"} ]
 730              string CountryDesignation;
 731           };
 732           
 733           // ==================================================================
 734           // Chassis
 735           // ==================================================================
 736 karl  1.2    [Version ("2.6.0"), Description (
 737                "The Chassis class represents the PhysicalElements that "
 738                "enclose other Elements and provide definable functionality, "
 739                "such as a desktop, processing node, UPS, disk or tape storage, "
 740                "or a combination of these.") ]
 741           class CIM_Chassis : CIM_PhysicalFrame {
 742                 [Description (
 743                   "Integer indicating the number of power cords which must be "
 744                   "connected to the Chassis, for all the componentry to "
 745                   "operate.") ]
 746              uint16 NumberOfPowerCords;
 747                 [Description (
 748                   "Current required by the Chassis at 120V. If power is "
 749                   "provided by the Chassis (as in the case of a UPS), this "
 750                   "property may indicate the amperage produced, as a negative "
 751                   "number."),
 752                  Units ("Amps at 120 Volts") ]
 753              sint16 CurrentRequiredOrProduced;
 754                 [Description (
 755                   "Amount of heat generated by the Chassis in BTU/hour."),
 756                  Units ("BTU per Hour") ]
 757 karl  1.2    uint16 HeatGeneration;
 758                 [Description (
 759                   "An enumerated, integer-valued array indicating the type of "
 760                   "Chassis."),
 761                  ArrayType ("Indexed"),
 762                  ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
 763                            "11", "12", "13", "14", "15", "16", "17", "18", "19",
 764                            "20", "21", "22", "23", "24"},
 765                  Values {"Other", "Unknown", "Desktop", "Low Profile Desktop",
 766                          "Pizza Box", "Mini Tower", "Tower", "Portable", "LapTop",
 767                          "Notebook", "Hand Held", "Docking Station", "All in One",
 768                          "Sub Notebook", "Space-Saving", "Lunch Box",
 769                          "Main System Chassis", "Expansion Chassis", "SubChassis",
 770                          "Bus Expansion Chassis", "Peripheral Chassis",
 771                          "Storage Chassis", "Rack Mount Chassis",
 772                          "Sealed-Case PC"},
 773                  MappingStrings {
 774                   "MIF.DMTF|Physical Container Global Table|004"},
 775                  ModelCorrespondence {"CIM_Chassis.TypeDescriptions"} ]
 776              uint16 ChassisTypes[];
 777                 [Description (
 778 karl  1.2         "An array of free-form strings providing more information "
 779                   "on the ChassisTypes array entries. Note, each entry of this "
 780                   "array is related to the entry in ChassisTypes that is "
 781                   "located at the same index."),
 782                  ArrayType ("Indexed"),
 783                  ModelCorrespondence {"CIM_Chassis.ChassisTypes"} ]
 784              string TypeDescriptions[];
 785           };
 786           
 787           
 788           // ==================================================================
 789           // ChassisInRack
 790           // ==================================================================
 791              [Association, Aggregation, Version ("2.6.0"), Description (
 792                "Racks, as simple enclosures, contain Chassis that provide "
 793                "the physical componentry realizing processing nodes, "
 794                "storage devices, UPSs, etc. The ChassisInRack association "
 795                "makes explicit the 'containing' relationship between the "
 796                "Rack and the Chassis.") ]
 797           class CIM_ChassisInRack : CIM_Container {
 798                 [Override ("GroupComponent"),
 799 karl  1.2        Aggregate, Max (1),
 800                  Description ("The Rack that contains the Chassis.") ]
 801              CIM_Rack REF GroupComponent;
 802                 [Override ("PartComponent"),
 803                  Description ("The Chassis which is mounted in the Rack.") ]
 804              CIM_Chassis REF PartComponent;
 805                 [Description (
 806                   "An integer indicating the lowest or 'bottom' U in which "
 807                   "the Chassis is mounted. A 'U' is a standard unit of "
 808                   "measure for the height of a Rack or rack-mountable "
 809                   "component. It is equal to 1.75 inches or 4.445 cm."),
 810                  Units ("Us") ]
 811              uint16 BottomU;
 812           };
 813           
 814           
 815           // ==================================================================
 816           // PackageInChassis
 817           // ==================================================================
 818              [Association, Aggregation, Version ("2.6.0"), Description (
 819                "A Chassis can contain other Packages, such as other Chassis "
 820 karl  1.2      "and Cards. The PackageInChassis association makes explicit "
 821                "this relationship.") ]
 822           class CIM_PackageInChassis : CIM_Container {
 823                 [Override ("GroupComponent"),
 824                  Aggregate, Max (1), Description (
 825                   "The Chassis that contains other PhysicalPackages.") ]
 826              CIM_Chassis REF GroupComponent;
 827                 [Override ("PartComponent"), Description (
 828                   "The PhysicalPackage which is contained in the Chassis.") ]
 829              CIM_PhysicalPackage REF PartComponent;
 830           };
 831           
 832           
 833           // ==================================================================
 834           // Docked
 835           // ==================================================================
 836              [Association, Version ("2.6.0"), Description (
 837                "A laptop, a type of Chassis, may be docked in another "
 838                "type of Chassis, a Docking Station. This is the relationship "
 839                "represented by the Docked association. Because this is "
 840                "such a typical relationship, it is explicitly described."),
 841 karl  1.2     MappingStrings {"MIF.DMTF|Dynamic States|001.2"} ]
 842           class CIM_Docked : CIM_Dependency {
 843                 [Override ("Antecedent"),
 844                  Max (1), Description ("The Docking Station.") ]
 845              CIM_Chassis REF Antecedent;
 846                 [Override ("Dependent"),
 847                  Max (1), Description ("The Laptop that is 'Docked'.") ]
 848              CIM_Chassis REF Dependent;
 849           };
 850           
 851           // ==================================================================
 852           // Card
 853           // ==================================================================
 854              [Version ("2.6.0"), Description (
 855                "The Card class represents a type of physical container that "
 856                "can be plugged into another Card or HostingBoard, or is "
 857                "itself a HostingBoard/Motherboard in a Chassis. The CIM_Card "
 858                "class includes any package capable of carrying signals and "
 859                "providing a mounting point for PhysicalComponents, such as "
 860                "Chips, or other PhysicalPackages, such as other Cards.") ]
 861           class CIM_Card : CIM_PhysicalPackage {
 862 karl  1.2       [Description (
 863                   "Boolean indicating that this Card is a Motherboard or, "
 864                   "more generically, a baseboard in a Chassis.") ]
 865              boolean HostingBoard;
 866                 [Description (
 867                   "SlotLayout is a free-form string that describes the "
 868                   "slot positioning, typical usage, restrictions, individual "
 869                   "slot spacings or any other pertinent information for the "
 870                   "slots on a Card.") ]
 871              string SlotLayout;
 872                 [Description (
 873                   "Boolean indicating that at least one daughterboard or "
 874                   "auxiliary Card is required in order to function properly.") ]
 875              boolean RequiresDaughterBoard;
 876                 [Description ("Boolean indicating that this Card is physically "
 877                   "unique from other Cards of the same type and therefore "
 878                   "requires a special Slot. For example, a double-wide Card "
 879                   "requires two Slots. Another example is where a certain Card "
 880                   "may be used for the same general function as other Cards but "
 881                   "requires a special Slot (e.g., extra long), whereas the "
 882                   "other Cards can be placed in any available Slot. "
 883 karl  1.2         "If set to TRUE, then the corresponding property, "
 884                   "RequirementsDescription, should specify the nature of the "
 885                   "uniqueness or purpose of the Card."),
 886                  ModelCorrespondence{"CIM_Card.RequirementsDescription"} ]
 887              boolean SpecialRequirements;
 888                 [Description ("A free-form string describing the way(s) in which "
 889                   "this Card is physically unique from other Cards. This "
 890                   "property only has meaning when the corresponding boolean "
 891                   "property, SpecialRequirements, is set to TRUE."),
 892                  ModelCorrespondence{"CIM_Card.SpecialRequirements"} ]
 893              string RequirementsDescription;
 894                 [Description ("Operating voltages required by the Card."),
 895                  Units("MilliVolts") ]
 896              sint16 OperatingVoltages[];
 897                 [Description (
 898                   "This method manipulates the power to a PhysicalConnector on "
 899                   "a Card. It is intended to be used by a Card (especially by a "
 900                   "motherboard - i.e., HostingBoard=TRUE) to turn the power on "
 901                   "and off for a specific PhysicalConnector located on it. For "
 902                   "example, in a personal computer, a system slot does not know "
 903                   "how to turn itself on and off. However, the motherboard "
 904 karl  1.2         "hosting this slot may have that capability. This is important "
 905                   "in order to support hot swapping of an adapter card in a "
 906                   "system slot. The method should return 0 if successful, 1 if "
 907                   "the request is not supported, and some other value if any "
 908                   "other error occurred. In a subclass, the set of possible "
 909                   "return codes could be specified, using a ValueMap qualifier "
 910                   "on the method. The strings to which the ValueMap contents are "
 911                   "'translated' may also be specified in the subclass as a "
 912                   "Values array qualifier.") ]
 913              uint32 ConnectorPower([IN] CIM_PhysicalConnector REF Connector,
 914                                    [IN] boolean PoweredOn);
 915           };
 916           
 917           
 918           // ==================================================================
 919           // SystemBusCard
 920           // ==================================================================
 921              [Version ("2.6.0"), Description (
 922                "The SystemBusCard class represents additional information "
 923                "for a CIM_Card, detailing the Card's bus type and data width. "
 924                "These properties dictate the type of Slot into which the Card "
 925 karl  1.2      "can be inserted. For example, using the properties of this "
 926                "class, one can define that a Card is a PCI, 64 bit adapter.") ]
 927           class CIM_SystemBusCard : CIM_Card {
 928                 [Description (
 929                   "An enumerated integer describing the System bus type for "
 930                   "this Card. It indicates the type of Slot into which the "
 931                   "Card can plug. The list of permissible values aligns with "
 932                   "the System bus types in CIM_PhysicalConnector.Connector"
 933                   "Type."),
 934                  ValueMap {"43", "44", "45", "46", "47", "48", "49", "50", 
 935                            "52", "64", "65", "73", "74", "75", "76", "77", "78", 
 936                            "79", "80", "81", "82", "83", "84", "85", "86", "87", 
 937                            "98", "99", "100", "101", "102", "103", "104", "105", 
 938                            "106", "109", "110"},
 939                  Values {"PCI", "ISA", "EISA", "VESA", "PCMCIA", 
 940                          "PCMCIA Type I", "PCMCIA Type II", "PCMCIA Type III", 
 941                          "CardBus", "Access.bus", "NuBus", "AGP", "VME Bus", 
 942                          "VME64", "Proprietary", 
 943                          "Proprietary Processor Card Slot", 
 944                          "Proprietary Memory Card Slot", 
 945                          "Proprietary I/O Riser Slot", "PCI-66MHZ", "AGP2X", 
 946 karl  1.2                "AGP4X", "PC-98", "PC-98-Hireso", "PC-H98", 
 947                          "PC-98Note", "PC-98Full", "PCI-X", 
 948                          "Sbus IEEE 1396-1993 32 bit", 
 949                          "Sbus IEEE 1396-1993 64 bit", "MCA", "GIO", "XIO", 
 950                          "HIO", "NGIO", "PMC", "Future I/O", "InfiniBand"},
 951                  ModelCorrespondence {"CIM_PhysicalConnector.ConnectorType"} ]
 952              uint16 BusType;
 953                 [Description (
 954                   "System bus width (in bits) required by this Card. If "
 955                   "'unknown', enter 0. If 'other' than the values, 8, 16, "
 956                   "32, 64 or 128, enter 1. The list of permissible values "
 957                   "aligns with the data in CIM_Slot.MaxBusWidth."),
 958                  Units ("Bits"),
 959                  ValueMap {"0", "1", "8", "16", "32", "64", "128"},
 960                  ModelCorrespondence {"CIM_Slot.MaxBusWidth"} ]
 961              uint16 BusWidth;
 962           };
 963           
 964           
 965           // ==================================================================
 966           // CardOnCard
 967 karl  1.2 // ==================================================================
 968              [Association, Aggregation, Version ("2.6.0"), Description (
 969                "Cards may be plugged into Motherboards/baseboards, are "
 970                "daughtercards of an adapter, or support special Card-like "
 971                "modules. These relationships are described by the CardOnCard "
 972                "association.") ]
 973           class CIM_CardOnCard : CIM_Container {
 974                 [Override ("GroupComponent"),
 975                  Aggregate,  Max (1),
 976                  Description ("The Card that hosts another Card.") ]
 977              CIM_Card REF GroupComponent;
 978                 [Override ("PartComponent"),
 979                  Description (
 980                   "The Card that is plugged into or otherwise mounted on "
 981                   "another Card.") ]
 982              CIM_Card REF PartComponent;
 983                 [Description (
 984                   "A string describing and identifying how the Card is "
 985                   "mounted on or plugged into the 'other' Card. Slot "
 986                   "information could be included in this field and may be "
 987                   "sufficient for certain management purposes. If so, "
 988 karl  1.2         "this avoids creating instantiations of Connector/Slot "
 989                   "objects just to model the relationship of Cards to "
 990                   "HostingBoards or other adapters. On the other hand, "
 991                   "if Slot and Connector information is available, this "
 992                   "field could be used to provide more detailed mounting "
 993                   "or slot insertion data.") ]
 994              string MountOrSlotDescription;
 995           };
 996           
 997           
 998           // ===================================================================
 999           // StorageMediaLocation 
1000           // ===================================================================
1001              [Version ("2.6.0"), Description (
1002                "StorageMediaLocation is a PhysicalElement where PhysicalMedia "
1003                "may be placed. This class describes an entity that holds Media "
1004                "and is not just a 'place' (as is conveyed by the CIM_Location "
1005                "object). This class is typically used in the context of a "
1006                "StorageLibrary. Examples of StorageMediaLocations are Media"
1007                "AccessDevices, InterLibraryPorts or 'slots' in a Library's "
1008                "panel.") ]
1009 karl  1.2 class CIM_StorageMediaLocation : CIM_PhysicalPackage {
1010                 [Description (
1011                   "The type of Location. For example, whether this is an "
1012                   "individual Media \"Slot\" (value=2), a MediaAccessDevice "
1013                   "(value=4) or a \"Magazine\" (value=3) is indicated in this "
1014                   "property."),
1015                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},
1016                  Values {"Unknown", "Other", "Slot", "Magazine", 
1017                          "MediaAccessDevice", "InterLibrary Port", 
1018                          "Limited Access Port", "Door", "Shelf", "Vault"} ]
1019              uint16 LocationType;
1020                 [Description (
1021                   "LocationCoordinates represent the physical location of the "
1022                   "the StorageMediaLocation instance. The property is defined "
1023                   "as a free-form string to allow the location information to "
1024                   "be described in vendor-unique terminology.") ]
1025              string LocationCoordinates;
1026                 [Description (
1027                   "  Certain StorageMediaLocations may only be able to accept a "
1028                   "limited set of PhysicalMedia MediaTypes. This property "
1029                   "defines an array containing the types of Media that are "
1030 karl  1.2         "acceptable for placement in the Location. Additional "
1031                   "information and description of the contained MediaTypes "
1032                   "can be provided using the TypesDescription array. Also, "
1033                   "size data (for example, DVD disc diameter) can be specified "
1034                   "using the MediaSizesSupported array. \n\n"
1035                   "  Values defined here correspond to those in the CIM_Physical"
1036                   "Media.MediaType property. This allows quick comparisons using "
1037                   "value equivalence calculations. It is understood that there "
1038                   "is no external physical difference between (for example) DVD-"
1039                   "Video and DVD-RAM. But, equivalent values in both the Physical"
1040                   "Media and StorageMediaLocation enumerations allows for one "
1041                   "for one comparisons with no additional processing logic "
1042                   "(i.e., the following is not required ... if \"DVD-Video\" "
1043                   "then value=\"DVD\")."),
1044                  ArrayType ("Indexed"), 
1045                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
1046                          "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", 
1047                          "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", 
1048                          "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", 
1049                          "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", 
1050                          "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", 
1051 karl  1.2                "61", "62", "63", "64", "65", "66"}, 
1052                  Values {"Unknown", "Other", "Tape Cartridge", "QIC Cartridge", 
1053                          "AIT Cartridge", "DTF Cartridge", "DAT Cartridge", 
1054                          "8mm Tape Cartridge", "19mm Tape Cartridge", 
1055                          "DLT Cartridge", "Half-Inch Magnetic Tape Cartridge", 
1056                          // 11
1057                          "Cartridge Disk", "JAZ Disk", "ZIP Disk", "SyQuest Disk", 
1058                          "Winchester Removable Disk", "CD-ROM", "CD-ROM/XA", 
1059                          "CD-I", "CD Recordable", "WORM", "Magneto-Optical", 
1060                          "DVD", "DVD-RW+", "DVD-RAM", "DVD-ROM", "DVD-Video", 
1061                          "Divx", "Floppy/Diskette", "Hard Disk", "Memory Card", 
1062                          // 31
1063                          "Hard Copy", "Clik Disk", "CD-RW", "CD-DA", "CD+", 
1064                          "DVD Recordable", "DVD-RW", "DVD-Audio", "DVD-5", 
1065                          "DVD-9", "DVD-10", "DVD-18", 
1066                          "Magneto-Optical Rewriteable", 
1067                          "Magneto-Optical Write Once", 
1068                          "Magneto-Optical Rewriteable (LIMDOW)", 
1069                          // 46
1070                          "Phase Change Write Once", "Phase Change Rewriteable", 
1071                          "Phase Change Dual Rewriteable", "Ablative Write Once", 
1072 karl  1.2                "Near Field Recording", "MiniQic", "Travan", 
1073                          "8mm Metal Particle", "8mm Advanced Metal Evaporate", 
1074                          "NCTP", "LTO Ultrium", "LTO Accelis", "9 Track Tape", 
1075                          "18 Track Tape", "36 Track Tape", 
1076                          // 61 
1077                          "Magstar 3590", 
1078                          "Magstar MP", "D2 Tape", "Tape - DST Small", 
1079                          "Tape - DST Medium", "Tape - DST Large"}, 
1080                  ModelCorrespondence {"CIM_PhysicalMedia.MediaType", 
1081                   "CIM_StorageMediaLocation.MediaSizesSupported"} ]
1082              uint16 MediaTypesSupported[];
1083                 [Description (
1084                   "The sizes (in inches) of the particular MediaTypes that may "
1085                   "be placed in the Location. Note, each entry of this array "
1086                   "is related to the entry in the MediaTypesSupported array that "
1087                   "is located at the same index."), 
1088                  ArrayType ("Indexed"), Units ("Inches"), 
1089                  ModelCorrespondence {"CIM_PhysicalMedia.MediaType", 
1090                   "CIM_StorageMediaLocation.MediaSizesSupported",
1091                   "CIM_StorageMediaLocation.TypeDescriptions"} ]
1092              real32 MediaSizesSupported[];
1093 karl  1.2       [Description (
1094                   "A StorageMediaLocation may hold more than one PhysicalMedia - "
1095                   "for example, a Magazine. This property indicates the Physical"
1096                   "Media capacity of the Location.") ]
1097              uint32 MediaCapacity;
1098                 [Description (
1099                   "This property provides additional detail related to the "
1100                   "entries in the MediaTypesSupported array. This is "
1101                   "especially critical when the MediaTypesSupported value "
1102                   "is 1 (\"Other\"). Note, each entry of this array is "
1103                   "related to the entry in MediaTypesSupported that is "
1104                   "located at the same index. "),
1105                  ArrayType ("Indexed"),
1106                  ModelCorrespondence {
1107                   "CIM_StorageMediaLocation.MediaTypesSupported"} ]
1108              string TypeDescriptions[];
1109           };
1110           
1111           
1112           // ===================================================================
1113           // Magazine 
1114 karl  1.2 // ===================================================================
1115              [Version ("2.6.0"), Description (
1116                "StorageMediaLocations are typically slots or spaces where "
1117                "removable media are located. However, a specific kind of "
1118                "MediaLocation is a Magazine. This entity represents a single "
1119                "physical container with multiple StorageMediaLocations in it. "
1120                "All the MediaLocations within the Magazine are added/removed "
1121                "together. Often, this container has a Barcode or other label "
1122                "for identification. This is the unique data captured in the "
1123                "CIM_Magazine class.  Magazine's label properties are defined "
1124                "exactly as are labels for PhysicalMedia. ") ]
1125           class CIM_Magazine : CIM_StorageMediaLocation  {
1126                 [Description (
1127                   "One or more strings on 'labels' on the Magazine. The "
1128                   "format of the labels and their state (readable, unreadable, "
1129                   "upside-down) are indicated in the corresponding LabelFormats "
1130                   "and LabelStates array properties."), 
1131                  ArrayType ("Indexed"),
1132                  ModelCorrespondence {"CIM_Magazine.LabelStates", 
1133                   "CIM_Magazine.LabelFormats"} ]
1134              string PhysicalLabels[];
1135 karl  1.2       [Description (
1136                   "An array of enumerated integers describing the states of "
1137                   "each of the labels on a Magazine. The Labels themselves "
1138                   "are listed in the PhysicalLabels property. Note, each entry "
1139                   "of this array is related to the entry in PhysicalLabels that "
1140                   "is located at the same index."),
1141                  ArrayType ("Indexed"), 
1142                  ValueMap {"0", "1", "2"}, 
1143                  Values {"OK/Readable", "Unreadable", "Upside Down"}, 
1144                  ModelCorrespondence {"CIM_Magazine.PhysicalLabels"} ]
1145              uint16 LabelStates[];
1146                 [Description (
1147                   "An array of enumerated integers describing the formats of "
1148                   "each of the labels on a Magazine. The Labels themselves "
1149                   "are listed in the PhysicalLabels property. Note, each entry "
1150                   "of this array is related to the entry in PhysicalLabels that "
1151                   "is located at the same index."), 
1152                  ArrayType ("Indexed"), 
1153                  ValueMap {"0", "1", "2", "3", "4", "5"}, 
1154                  Values {"Barcode", "Radio Frequency Identification", 
1155                          "OCR (Optical Character Recognition)", 
1156 karl  1.2                "MICR (Magnetic Ink Character Recognition)",
1157                          "7 Character Barcode", "9 Character Barcode"}, 
1158                  ModelCorrespondence {"CIM_Magazine.PhysicalLabels"} ]
1159              uint16 LabelFormats[];
1160           };
1161           
1162           
1163           // ==================================================================
1164           // PackageInConnector 
1165           // ==================================================================
1166              [Association, Version ("2.6.0"), Description (
1167                "Adapter cards and other 'packaging' are plugged into System "
1168                "Connectors for power and/or to transfer data. This "
1169                "relationship is defined by PackageInConnector. For example, "
1170                "it would be used to describe the insertion of a daughtercard "
1171                "onto another Card. Various subclasses of PackageInConnector "
1172                "are also defined. PackageInSlot and its subclass, "
1173                "CardInSlot, are two examples of subclasses.") ]
1174           class CIM_PackageInConnector : CIM_Dependency {
1175                 [Override ("Antecedent"), Description (
1176                   "The Connector into which the Package is inserted.") ]
1177 karl  1.2    CIM_PhysicalConnector REF Antecedent;
1178                 [Override ("Dependent"), Max (1), 
1179                  Description ("The Package in the Connector.") ]
1180              CIM_PhysicalPackage REF Dependent;
1181           };
1182           
1183           
1184           // ==================================================================
1185           // PackageInSlot 
1186           // ==================================================================
1187              [Association,
1188               Version ("2.6.0"), Description (
1189                "Complex networking devices often are Chassis-based. "
1190                "These Chassis allow for enhancement and/or augmentation of "
1191                "their base functionality by accepting additional Chassis "
1192                "devices, similar to accepting functionality in the form of "
1193                "adding Cards. This association models this capability.") ]
1194           class CIM_PackageInSlot : CIM_PackageInConnector {
1195                 [Override ("Antecedent"),
1196                  Description (
1197                   "The Slot into which the PhysicalPackage is inserted.") ]
1198 karl  1.2    CIM_Slot REF Antecedent;
1199                 [Override ("Dependent"),
1200                  Max (1),
1201                  Description ("The Package in the Slot.") ]
1202              CIM_PhysicalPackage REF Dependent;
1203           };
1204           
1205           
1206           // ==================================================================
1207           // CardInSlot 
1208           // ==================================================================
1209              [Association, Version ("2.6.0"), Description (
1210                "Slots are special types of Connectors into which adapter "
1211                "Cards are inserted. This relationship of a Card in a Slot "
1212                "is made explicit using the CardInSlot association."),
1213               MappingStrings {"MIF.DMTF|System Slot|005.4"} ]
1214           class CIM_CardInSlot : CIM_PackageInSlot {
1215                 [Override ("Antecedent"),
1216                  Description ("The Slot into which the Card is inserted.") ]
1217              CIM_Slot REF Antecedent;
1218                 [Override ("Dependent"),
1219 karl  1.2        Max (1),
1220                  Description ("The Card in the Slot.") ]
1221              CIM_Card REF Dependent;
1222           };
1223           
1224           
1225           // ==================================================================
1226           // ConnectorOnPackage 
1227           // ==================================================================
1228              [Association, Aggregation, Version ("2.6.0"), Description (
1229                "PhysicalPackages contain Connectors as well as other "
1230                "PhysicalElements. The ConnectorOnPackage association makes "
1231                "explicit the containment relationship between Connectors and "
1232                "Packages.") ]
1233           class CIM_ConnectorOnPackage : CIM_Container {
1234                 [Override ("GroupComponent"),
1235                  Aggregate, Max (1),
1236                  Description ("The PhysicalPackage that has a Connector.") ]
1237              CIM_PhysicalPackage REF GroupComponent;
1238                 [Override ("PartComponent"),
1239                  Description ("The PhysicalConnector.") ]
1240 karl  1.2    CIM_PhysicalConnector REF PartComponent;
1241           };
1242           
1243           
1244           // ==================================================================
1245           // PhysicalLink
1246           // ==================================================================
1247              [Version ("2.6.0"), Description (
1248                "The PhysicalLink class represents the cabling of "
1249                "PhysicalElements together. For example, serial or Ethernet "
1250                "cables, and infrared Links would be subclasses (if additional "
1251                "properties or associations are defined) or instances of "
1252                "PhysicalLink. In many cases, the numerous physical cables "
1253                "within a PhysicalPackage or Network will not be modeled. "
1254                "However, where these cables or Links are critical components, "
1255                "or are tagged assets of the company, these objects can be "
1256                "instantiated using this class or one of its descendent "
1257                "classes.") ]
1258           class CIM_PhysicalLink : CIM_PhysicalElement {
1259                 [Description ("The maximum length of the PhysicalLink in feet."),
1260                  Units ("Feet") ]
1261 karl  1.2    real64 MaxLength;
1262                 [Description (
1263                   "The current length of the PhysicalLink in feet. For some "
1264                   "connections, especially wireless technologies, this property "
1265                   "may not be applicable and should be left uninitialized."),
1266                  Units ("Feet") ]
1267              real64 Length;
1268                 [Description (
1269                   "Boolean indicating whether the PhysicalLink is an actual "
1270                   "cable (TRUE) or a wireless connection (FALSE).") ]
1271              boolean Wired;
1272                 [Description("The MediaType property defines the particular "
1273                   "type of Media through which transmission signals pass. "
1274                   "Common network media include twisted-pair (value=11 or 12), "
1275                   "coaxial (7, 8 or 9) and fiber-optic cable (10)."), 
1276                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
1277                          "11", "12", "13", "14", "15", "16", "17"},  
1278                  Values {"Unknown", "Other", "Cat1", "Cat2", "Cat3", "Cat4", 
1279                          "Cat5", "50-ohm Coaxial", "75-ohm Coaxial", 
1280                          "100-ohm Coaxial", "Fiber-optic", "UTP", "STP", 
1281                          "Ribbon Cable", "Twinaxial", "Optical 9um", 
1282 karl  1.2                "Optical 50um", "Optical 62.5um"},
1283                  MappingStrings {
1284                   "MIF.DMTF|Fibre Channel Bus Port Extensions|001.4"} ]
1285              uint16 MediaType;
1286           };
1287           
1288           
1289           // ===================================================================
1290           // ElementsLinked
1291           // ===================================================================
1292              [Association, Version ("2.6.0"), Description (
1293                "The ElementsLinked association indicates which Physical"
1294                "Elements are cabled together by a PhysicalLink.") ]
1295           class CIM_ElementsLinked : CIM_Dependency {
1296                 [Override ("Antecedent"),
1297                  Description ("The PhysicalLink.") ]
1298              CIM_PhysicalLink REF Antecedent;
1299                 [Override ("Dependent"), 
1300                  Description ("The PhysicalElement that is linked.") ]
1301              CIM_PhysicalElement REF Dependent;
1302           };
1303 karl  1.2 
1304           
1305           // ==================================================================
1306           // LinkHasConnector 
1307           // ==================================================================
1308              [Association, Aggregation, Version ("2.6.0"), Description (
1309                "Cables and Links utilize PhysicalConnectors to actually "
1310                "'connect' PhysicalElements. This association explicitly "
1311                "defines this relationship of Connectors for PhysicalLinks.") ]
1312           class CIM_LinkHasConnector : CIM_Component {
1313                 [Override ("GroupComponent"),
1314                  Aggregate, Max (1),
1315                  Description ("The PhysicalLink that has a Connector.") ]
1316              CIM_PhysicalLink REF GroupComponent;
1317                 [Override ("PartComponent"),
1318                  Description ("The PhysicalConnector.") ]
1319              CIM_PhysicalConnector REF PartComponent;
1320           };
1321           
1322           
1323           // ===================================================================
1324 karl  1.2 //  UML Page 3 - PhysicalComponent
1325           // ===================================================================
1326           // ==================================================================
1327           // PhysicalComponent
1328           // ==================================================================
1329              [Version ("2.6.0"), Description (
1330                "The PhysicalComponent class represents any low-level or "
1331                "basic Component within a Package. A Component object either "
1332                "can not or does not need to be decomposed into its "
1333                "constituent parts. For example, an ASIC (or Chip) can not be "
1334                "further decomposed. A tape for data storage (PhysicalMedia) "
1335                "does not need to be decomposed. Any PhysicalElement that is "
1336                "not a Link, Connector, or Package is a descendent (or "
1337                "member) of this class. For example, the UART chipset on an "
1338                "internal modem Card would be a subclass (if additional "
1339                "properties or associations are defined) or an instance of "
1340                "PhysicalComponent.") ]
1341           class CIM_PhysicalComponent : CIM_PhysicalElement {
1342                 [Description (
1343                   "A PhysicalComponent is Removable if it is designed to be "
1344                   "taken in and out of the physical container in which it is "
1345 karl  1.2         "normally found, without impairing the function of the "
1346                   "overall packaging. A Component can still be Removable if "
1347                   "power must be 'off' in order to perform the removal. If "
1348                   "power can be 'on' and the Component removed, then the Element "
1349                   "is both Removable and HotSwappable. For example, an "
1350                   "upgradeable Processor chip is Removable.") ]
1351              boolean Removable;
1352                 [Description (
1353                   "A PhysicalComponent is Replaceable if it is possible to "
1354                   "replace (FRU or upgrade) the Element with a physically "
1355                   "different one.  For example, some ComputerSystems "
1356                   "allow the main Processor chip to be upgraded to one of a "
1357                   "higher clock rating. In this case, the Processor is said "
1358                   "to be Replaceable. All Removable Components are "
1359                   "inherently Replaceable.") ]
1360              boolean Replaceable;
1361                 [Description (
1362                   "A PhysicalComponent is HotSwappable if it is possible to "
1363                   "replace the Element with a physically different "
1364                   "but equivalent one while the containing Package has power "
1365                   "applied to it (ie, is 'on').  For example, a fan Component "
1366 karl  1.2         "may be designed to be HotSwappable. All HotSwappable "
1367                   "Components are inherently Removable and Replaceable.") ]
1368              boolean HotSwappable;
1369           };
1370           
1371           
1372           // ==================================================================
1373           // PackagedComponent 
1374           // ==================================================================
1375              [Association, Aggregation, Version ("2.6.0"), Description (
1376                "A Component is typically contained by a PhysicalPackage, such "
1377                "as a Chassis or Card. The PackagedComponent association makes "
1378                "this relationship explicit. In the first sentence, the word, "
1379                "'typically', is used. This is because a Component may be "
1380                "removed from, or not yet inserted into, its containing "
1381                "Package (ie, the Removable boolean is TRUE). Therefore, a "
1382                "Component may not always be associated with a container.") ]
1383           class CIM_PackagedComponent : CIM_Container {
1384                 [Override ("GroupComponent"), Aggregate, Max (1),
1385                  Description ("The PhysicalPackage that contains Component(s).") ]
1386              CIM_PhysicalPackage REF GroupComponent;
1387 karl  1.2       [Override ("PartComponent"), Description (
1388                   "The PhysicalComponent which is contained in the Package.") ]
1389              CIM_PhysicalComponent REF PartComponent;
1390           };
1391           
1392           
1393           // ==================================================================
1394           // Chip
1395           // ==================================================================
1396              [Version ("2.6.0"), Description (
1397                "The Chip class represents any type of integrated circuit "
1398                "hardware, including ASICs, processors, memory chips, etc.") ]
1399           class CIM_Chip : CIM_PhysicalComponent {
1400                 [Description ("The implementation form factor for the Chip."
1401                   "For example, values such as SIMM (7), TSOP (9) or PGA (10) "
1402                   "can be specified."),
1403                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
1404                          "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", 
1405                          "21", "22", "23"}, 
1406                  Values {"Unknown", "Other", "SIP", "DIP", "ZIP", "SOJ", 
1407                          "Proprietary", "SIMM", "DIMM", "TSOP", "PGA", "RIMM",
1408 karl  1.2                "SODIMM", "SRIMM", "SMD", "SSMP", "QFP", "TQFP", "SOIC", 
1409                          "LCC", "PLCC", "BGA", "FPBGA", "LGA"} ]
1410              uint16 FormFactor;
1411           };
1412           
1413           
1414           // ==================================================================
1415           // PhysicalMemory
1416           // ==================================================================
1417              [Version ("2.6.0"), Description (
1418                "PhysicalMemory is a subclass of CIM_Chip, representing "
1419                "low level memory devices - SIMMS, DIMMs, raw memory chips, "
1420                "etc.") ]
1421           class CIM_PhysicalMemory : CIM_Chip {
1422                 [Override ("FormFactor"),
1423                  MappingStrings {"MIF.DMTF|Memory Device|005"} ]
1424              uint16 FormFactor;
1425                 [Description ("The type of PhysicalMemory."),
1426                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
1427                          "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"}, 
1428                  Values {"Unknown", "Other", "DRAM", "Synchronous DRAM",
1429 karl  1.2                "Cache DRAM", "EDO", "EDRAM", "VRAM", "SRAM", "RAM",
1430                          "ROM", "Flash", "EEPROM", "FEPROM", "EPROM", "CDRAM",
1431                          "3DRAM", "SDRAM", "SGRAM", "RDRAM", "DDR"},
1432                  MappingStrings {"MIF.DMTF|Memory Device|005"} ]
1433              uint16 MemoryType;
1434                 [Description (
1435                   "Total width, in bits, of the PhysicalMemory, including check "
1436                   "or error correction bits. If there are no error correction "
1437                   "bits, the value in this property should match that specified "
1438                   "for DataWidth."),
1439                  Units ("Bits"),
1440                  MappingStrings {"MIF.DMTF|Memory Device|005"} ]
1441              uint16 TotalWidth;
1442                 [Description (
1443                   "Data width of the PhysicalMemory, in bits. A data width of 0 "
1444                   "and a TotalWidth of 8 would indicate that the Memory is "
1445                   "solely used to provide error correction bits."),
1446                  Units ("Bits"),
1447                  MappingStrings {"MIF.DMTF|Memory Device|005"} ]
1448              uint16 DataWidth;
1449                 [Description ("The speed of the PhysicalMemory, in nanoseconds."),
1450 karl  1.2        Units ("NanoSeconds"),
1451                  MappingStrings {"MIF.DMTF|Memory Device|005"} ]
1452              uint32 Speed;
1453                 [Description (
1454                   "The total capacity of this PhysicalMemory, in bytes."),
1455                  Units ("Bytes"),
1456                  MappingStrings {"MIF.DMTF|Memory Device|005"} ]
1457              uint64 Capacity;
1458                 [Description (
1459                   "A string identifying the physically labeled bank where the "
1460                   "Memory is located - for example, 'Bank 0' or 'Bank A'."),
1461                  MaxLen (64),
1462                  MappingStrings {"MIF.DMTF|Memory Device|005"} ]
1463              string BankLabel;
1464                 [Description (
1465                   "Specifies the position of the PhysicalMemory in a 'row'. For "
1466                   "example, if it takes two 8-bit memory devices to form a 16-"
1467                   "bit row, then a value of '2'means that this Memory is the "
1468                   "second device. 0 is an invalid value for this property."),
1469                  MappingStrings {
1470                     "MIF.DMTF|Memory Device Mapped Addresses|001.6"} ]
1471 karl  1.2    uint32 PositionInRow;
1472                 [Description (
1473                   "The position of this PhysicalMemory in an interleave. 0 "
1474                   "indicates non-interleaved. 1 indicates the first position, 2 "
1475                   "the second position and so on. For example, in a 2:1 "
1476                   "interleave, a value of '1' would indicate that the Memory "
1477                   "is in the 'even' position."),
1478                  MappingStrings {
1479                     "MIF.DMTF|Memory Device Mapped Addresses|001.7"} ]
1480              uint32 InterleavePosition;
1481           };
1482           
1483           
1484           // ==================================================================
1485           // MemoryOnCard 
1486           // ==================================================================
1487              [Association, Aggregation, Version ("2.6.0"), Description (
1488                "PhysicalMemory can be located on HostingBoards, adapter Cards, "
1489                "etc. This association explicitly defines this relationship of "
1490                "Memory to Cards.") ]
1491           class CIM_MemoryOnCard : CIM_PackagedComponent {
1492 karl  1.2       [Override ("GroupComponent"),
1493                  Aggregate, Max (1),
1494                  Description ("The Card that includes or 'contains' Memory.") ]
1495              CIM_Card REF GroupComponent;
1496                 [Override ("PartComponent"),
1497                  Description (
1498                   "The PhysicalMemory which is located on the Card.") ]
1499              CIM_PhysicalMemory REF PartComponent;
1500           };
1501           
1502           
1503           // ==================================================================
1504           // PhysicalMedia
1505           // ==================================================================
1506              [Version ("2.6.0"), Description (
1507                "The PhysicalMedia class represents any type of documentation "
1508                "or storage medium, such as tapes, CDROMs, etc. This class "
1509                "is typically used to locate and manage Removable Media "
1510                "(versus Media sealed with the MediaAccessDevice, as a single "    
1511                "Package, as is the case with hard disks). However, 'sealed' "
1512                "Media can also be modeled using this class, where the Media "
1513 karl  1.2      "would then be associated with the PhysicalPackage using the "
1514                "PackagedComponent relationship.") ]
1515           class CIM_PhysicalMedia : CIM_PhysicalComponent {
1516                 [Description (
1517                   "The number of bytes that can be read from or written to a "
1518                   "Media. This property is not applicable to \"Hard Copy\" "
1519                   "(documentation) or cleaner Media. Data compression should not "
1520                   "be assumed, as it would increase the value in this property. "
1521                   "For tapes, it should be assumed that no filemarks or blank "
1522                   "space areas are recorded on the Media."),
1523                  Units ("Bytes") ]
1524              uint64 Capacity; 
1525                 [Description (
1526                   "Specifies the type of the PhysicalMedia, as an enumerated "
1527                   "integer. The MediaDescription property is "
1528                   "used to provide more explicit definition of the Media type, "
1529                   "whether it is pre-formatted, compatability features, etc."),
1530                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
1531                          "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", 
1532                          "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", 
1533                          "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", 
1534 karl  1.2                "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", 
1535                          "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", 
1536                          "61", "62", "63", "64", "65", "66"}, 
1537                  Values {"Unknown", "Other", "Tape Cartridge", "QIC Cartridge",
1538                          "AIT Cartridge", "DTF Cartridge", "DAT Cartridge",
1539                          "8mm Tape Cartridge", "19mm Tape Cartridge",
1540                          "DLT Cartridge", "Half-Inch Magnetic Tape Cartridge",
1541                          // 11
1542                          "Cartridge Disk", "JAZ Disk", "ZIP Disk", "SyQuest Disk",
1543                          "Winchester Removable Disk", "CD-ROM", "CD-ROM/XA",
1544                          "CD-I", "CD Recordable", "WORM", "Magneto-Optical", 
1545                          "DVD", "DVD-RW+", "DVD-RAM", "DVD-ROM", "DVD-Video", 
1546                          "Divx", "Floppy/Diskette", "Hard Disk", "Memory Card",
1547                          // 31
1548                          "Hard Copy", "Clik Disk", "CD-RW", "CD-DA", "CD+", 
1549                          "DVD Recordable", "DVD-RW", "DVD-Audio", "DVD-5", 
1550                          "DVD-9", "DVD-10", "DVD-18", 
1551                          "Magneto-Optical Rewriteable", 
1552                          "Magneto-Optical Write Once", 
1553                          "Magneto-Optical Rewriteable (LIMDOW)", 
1554                          // 46
1555 karl  1.2                "Phase Change Write Once", "Phase Change Rewriteable", 
1556                          "Phase Change Dual Rewriteable", "Ablative Write Once", 
1557                          "Near Field Recording", "MiniQic", "Travan", 
1558                          "8mm Metal Particle", "8mm Advanced Metal Evaporate", 
1559                          "NCTP", "LTO Ultrium", "LTO Accelis", "9 Track Tape", 
1560                          "18 Track Tape", "36 Track Tape", 
1561                          // 61
1562                          "Magstar 3590", 
1563                          "Magstar MP", "D2 Tape", "Tape - DST Small ", 
1564                          "Tape - DST Medium", "Tape - DST Large"},
1565                  ModelCorrespondence {"CIM_PhysicalMedia.MediaDescription"} ]
1566              uint16 MediaType;
1567                 [Description (
1568                   "Additional detail related to the MediaType enumeration. For "
1569                   "example, if value 3 (\"QIC Cartridge\") is specified, this "
1570                   "property could indicate whether the tape is wide or 1/4 inch, "
1571                   "whether it is pre-formatted, whether it is Travan compatible, "
1572                   "etc."),
1573                  ModelCorrespondence {"CIM_PhysicalMedia.MediaType"} ]
1574              string MediaDescription;
1575                 [Description (
1576 karl  1.2         "Boolean specifying whether the Media is currently write "
1577                   "protected by some kind of physical mechanism, such as a "
1578                   "protect tab on a floppy diskette.") ]
1579              boolean WriteProtectOn;
1580                 [Description ("Boolean indicating that the PhysicalMedia "
1581                   "is used for cleaning purposes and not data storage.") ]
1582              boolean CleanerMedia;
1583                 [Description (
1584                   "Size of the Media in inches. For example, '3.5' would "
1585                   "be entered for a 3.5 inch disk, or '12' would be entered "
1586                   "for a 12 inch optical disk. On the other hand, '0.5' would "
1587                   "be defined for a 1/2 inch tape."),
1588                  Units ("Inches") ]
1589              real32 MediaSize;
1590                 [Description (
1591                   "For removable Media, the maximum number of times that "
1592                   "the Media can be mounted before it should be retired. For "
1593                   "cleaner Media, this is the maximum number of Drive cleans "
1594                   "that can be performed. For nonremovable Media, such as hard "
1595                   "disks, this property is not applicable and should be set to "
1596                   "0.") ]
1597 karl  1.2    uint64 MaxMounts;
1598                 [Description (
1599                   "For removable or cleaner Media, the number of times that "
1600                   "the Media has been mounted for data transfer or to clean a "
1601                   "Drive. For nonremovable Media, such as hard disks, "
1602                   "this property is not applicable and should be set to 0."),
1603                  Counter, 
1604                  ModelCorrespondence {"CIM_PhysicalMedia.MaxMounts"} ]
1605              uint64 MountCount;
1606                 [Description (
1607                   "Boolean indicating that the Media has two recording sides "
1608                   "(TRUE) or only a single side (FALSE). Examples of dual "
1609                   "sided Media include DVD-ROM and some optical disks. Examples "
1610                   "of single sided Media are tapes and CD-ROM.") ]
1611              boolean DualSided;
1612                 [Description (
1613                   "One or more strings on 'labels' on the PhysicalMedia. "
1614                   "The format of the labels and their state (readable, "
1615                   "unreadable, upside-down) are indicated in the LabelFormats "
1616                   "and LabelStates array properties."), 
1617                  ArrayType ("Indexed"),
1618 karl  1.2        ModelCorrespondence {"CIM_PhysicalMedia.LabelStates", 
1619                   "CIM_PhysicalMedia.LabelFormats"} ]
1620              string PhysicalLabels[];
1621                 [Description (
1622                   "An array of enumerated integers describing the states of "
1623                   "each of the labels on a PhysicalMedia. The Labels themselves "
1624                   "are listed in the PhysicalLabels property. Note, each entry "
1625                   "of this array is related to the entry in PhysicalLabels that "
1626                   "is located at the same index."),
1627                  ArrayType ("Indexed"), 
1628                  ValueMap {"0", "1", "2"}, 
1629                  Values {"OK/Readable", "Unreadable", "Upside Down"}, 
1630                  ModelCorrespondence {"CIM_PhysicalMedia.PhysicalLabels"} ]
1631              uint16 LabelStates[];
1632                 [Description (
1633                   "An array of enumerated integers describing the formats of "
1634                   "each of the labels on a PhysicalMedia. The Labels themselves "
1635                   "are listed in the PhysicalLabels property. Note, each entry "
1636                   "of this array is related to the entry in PhysicalLabels that "
1637                   "is located at the same index."), 
1638                  ArrayType ("Indexed"), 
1639 karl  1.2        ValueMap {"0", "1", "2", "3", "4", "5"}, 
1640                  Values {"Barcode", "Radio Frequency Identification", 
1641                          "OCR (Optical Character Recognition)", 
1642                          "MICR (Magnetic Ink Character Recognition)",
1643                          "7 Character Barcode", "9 Character Barcode"},
1644                  ModelCorrespondence {"CIM_PhysicalMedia.PhysicalLabels"} ]
1645              uint16 LabelFormats[];
1646                 [Description (
1647                   "For removable or cleaner Media, the date and time that the "
1648                   "Media was last mounted. For nonremovable Media, such as "
1649                   "hard disks, this property has no meaning and is not "
1650                   "applicable.") ]
1651              datetime TimeOfLastMount;
1652                 [Description (
1653                   "For removable or cleaner Media, the total time (in seconds) "
1654                   "that the Media has been mounted for data transfer or to clean "
1655                   "a Drive. For nonremovable Media, such as hard disks, "
1656                   "this property is not applicable and should be set to 0.") ]
1657              uint64 TotalMountTime;
1658           };
1659           
1660 karl  1.2 // ==================================================================
1661           // MemoryWithMedia
1662           // ==================================================================
1663              [Association, Version ("2.6.0"), Description (
1664                "MemoryWithMedia indicates that Memory is associated "
1665                "with a PhysicalMedia and its cartridge. The Memory provides "
1666                "media identification and also stores user-specific data. ") ]
1667           class CIM_MemoryWithMedia : CIM_Dependency {
1668                 [Override ("Antecedent"), Description (
1669                   "The Memory associated with PhysicalMedia. ") ]
1670              CIM_PhysicalMemory REF Antecedent;
1671                 [Override ("Dependent"),
1672                  Description ("The PhysicalMedia.") ]
1673              CIM_PhysicalMedia REF Dependent;
1674           };
1675           
1676           
1677           // ===================================================================
1678           // PhysicalMediaInLocation
1679           // ===================================================================
1680              [Association, Version ("2.6.0"), Description (
1681 karl  1.2      "Within a StorageLibrary, all Media should be accounted for, "
1682                "and be present in some Storage Location. This relationship "
1683                "is made explicit by the PhysicalMediaInLocation association."
1684                "In addition, one can determine if a Location is empty or "
1685                "full based on whether this association exists for the "
1686                "StorageMediaLocation.") ]
1687           class CIM_PhysicalMediaInLocation : CIM_Dependency {
1688                 [Override ("Antecedent"), Description (
1689                   "The StorageMediaLocation which holds the PhysicalMedia."), 
1690                  Max (1) ]
1691              CIM_StorageMediaLocation REF Antecedent;
1692                 [Override ("Dependent"), Description (
1693                   "The Media in the Location.") ]
1694              CIM_PhysicalMedia REF Dependent;
1695                 [Description (
1696                   "An enumeration expressing which 'Side' of the Media is "
1697                   "facing up. Since sides can be named by various schemes (0/1 "
1698                   "or A/B), both schemes are expressed in the Values array of "
1699                   "this property. Also, the value 5 (\"Not Applicable\" "
1700                   "describes that orientation is not pertinent for this Media."),
1701                  ValueMap {"0", "1", "2", "3", "4", "5"}, 
1702 karl  1.2        Values {"Unknown", "Side 0", "Side 1", "Side A", 
1703                          "Side B", "Not Applicable"} ]
1704              uint16 Orientation;
1705                 [Description (
1706                   "The date and time that the Media was last placed into the "
1707                   "referenced Location.") ]
1708              datetime TimeOfLastPlacement;
1709           };
1710           
1711           
1712           // ==================================================================
1713           // PhysicalTape 
1714           // ==================================================================
1715              [Version ("2.6.0"), Description (
1716                "The PhysicalTape class represents additional data for a Tape "
1717                "Media. Information on the tape length and whether it must be "
1718                "unloaded from BOT are properties of this class.") ]
1719           class CIM_PhysicalTape : CIM_PhysicalMedia {
1720                 [Description ("The physical length of the Tape in feet."), 
1721                  Units ("Feet") ]
1722              real32 TapeLength;
1723 karl  1.2       [Description (
1724                   "Boolean set to TRUE if the Tape can be unloaded at any "
1725                   "position on the Media. It is set to FALSE if the tape must "
1726                   "be at a certain position for unload - such as at the "
1727                   "beginning of tape (BOT) area, or at mid-tape point for "
1728                   "TapeDrives with mid-tape load.") ]
1729              boolean UnloadAnywhere;
1730           };
1731           
1732           
1733           // ===================================================================
1734           //  UML Page 4 - PhysicalCapacity and Statistics
1735           // ===================================================================
1736           // ==================================================================
1737           // PhysicalCapacity
1738           // ==================================================================
1739              [Abstract, Version ("2.6.0"), Description (
1740                "PhysicalCapacity is an abstract class describing "
1741                "a PhysicalElement's minimum/maximum requirements and "
1742                "ability to support different types of hardware. For example, "
1743                "minimum and maximum memory requirements can be modeled as a "
1744 karl  1.2      "subclass of CIM_PhysicalCapacity.") ]
1745           class CIM_PhysicalCapacity : CIM_ManagedElement {
1746                 [MaxLen (256),
1747                  Description ("The Name property defines the label by which "
1748                   "the PhysicalCapacity object is known.  When subclassed, "
1749                   "the Name property can be overridden to be a Key property.") ]
1750              string Name;
1751           };
1752           
1753           
1754           // =================================================================
1755           // ElementCapacity
1756           // =================================================================
1757              [Association, Version ("2.6.0"), Description (
1758                "ElementCapacity associates a PhysicalCapacity "
1759                "object with one or more PhysicalElements.  It serves to "
1760                "associate a description of min/max hardware requirements "
1761                "or capabilities (stored as a kind of PhysicalCapacity), "
1762                "with the PhysicalElements being described.") ]
1763           class CIM_ElementCapacity {
1764                 [Key, Description (
1765 karl  1.2         "PhysicalCapacity describes the minimum and maximum "
1766                   "requirements, and ability to support different types of "
1767                   "hardware for a PhysicalElement.") ]
1768              CIM_PhysicalCapacity REF Capacity;
1769                 [Key, Min (1),
1770                  Description ("The PhysicalElement being described.") ]
1771              CIM_PhysicalElement REF Element;
1772           };
1773           
1774           
1775           // ==================================================================
1776           // MemoryCapacity
1777           // ==================================================================
1778              [Version ("2.6.0"), Description (
1779                "MemoryCapacity describes the type of Memory that "
1780                "can be installed on a PhysicalElement and its minimum/maximum "
1781                "configurations. Information on what memory is currently "
1782                "'installed', versus an Element's min/max requirements, is "
1783                "located in instances of the PhysicalMemory class.") ]
1784           class CIM_MemoryCapacity : CIM_PhysicalCapacity {
1785                 [Override ("Name"), Key,
1786 karl  1.2        Description ("The inherited Name serves as a part of the "
1787                   "MemoryCapacity object key.") ]
1788              string Name;
1789                 [Key, Description (
1790                   "The type of memory. This is a part of the object key.  "
1791                   "Values correspond to the list of possible memory types "
1792                   "in the PhysicalMemory class."), 
1793                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
1794                          "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"}, 
1795                  Values {"Unknown", "Other", "DRAM", "Synchronous DRAM",
1796                          "Cache DRAM", "EDO", "EDRAM", "VRAM", "SRAM", "RAM",
1797                          "ROM", "Flash", "EEPROM", "FEPROM", "EPROM", "CDRAM",
1798                          "3DRAM", "SDRAM", "SGRAM", "RDRAM", "DDR"},
1799                  ModelCorrespondence {"CIM_PhysicalMemory.MemoryType"} ]
1800              uint16 MemoryType;
1801                 [Description ("Minimum amount of memory, in Kbytes, that is "
1802                   "needed for the associated PhysicalElement to operate "
1803                   "correctly. "),
1804                  Units ("KiloBytes") ]
1805              uint64 MinimumMemoryCapacity;
1806                 [Description ("Maximum amount of memory, in Kbytes, that can be "
1807 karl  1.2         "supported by the associated PhysicalElement. "),
1808                  Units ("KiloBytes") ]
1809              uint64 MaximumMemoryCapacity;
1810           };
1811           
1812           
1813           // ===================================================================
1814           // ConfigurationCapacity 
1815           // ===================================================================
1816              [Version ("2.6.0"), Description (
1817                "ConfigurationCapacity provides information on the minimum and "
1818                "maximum numbers of power supplies, fans, disk drives, etc. "
1819                "that can be connected to or placed on/into a PhysicalElement "
1820                "(and the number that must be connected/added/removed at a "
1821                "time). The PhysicalElement whose configuration is described is "
1822                "identified using the ElementCapacity association, inherited "
1823                "from PhysicalCapacity. The object whose capacities are "
1824                "indicated (ie, the power supply or fan) is identified in the "
1825                "ObjectType property of this class. Since the same min/max "
1826                "configurations can apply to multiple instances, this class is "
1827                "not defined as 'weak'.\n"
1828 karl  1.2      "Examples of the use of the ConfigurationCapacity class are "
1829                "to describe that a 'control unit' Chassis may be connected "
1830                "to (at most) 4 other I/O chassis, or to describe what a "
1831                "StorageLibrary's cabinet may contain. Continuing the latter "
1832                "example, a particular StorageLibrary's cabinet might "
1833                "hold a minimum of 3 and a maximum of 9 TapeDrives, and a "
1834                "minimum of 88 and a maximum of 264 StorageMediaLocations "
1835                "(\"Slots\"). This information would be described in two "
1836                "instances of ConfigurationCapacity, both associated to the "
1837                "StorageLibrary's PhysicalPackage.\n"
1838                "This class does NOT represent the tradeoffs that are "
1839                "likely to be required of one resource for another. It simply "
1840                "represents capacities. In the case of the StorageLibrary, "
1841                "there may be only 2 valid configurations - 9 TapeDrives with "
1842                "88 Slots, or 3 TapeDrives with 264 Slots. This class only "
1843                "conveys that 'up to' 9 Drives and 'up to' 264 slots may be "
1844                "available and are supported.") ]
1845           class CIM_ConfigurationCapacity : CIM_PhysicalCapacity {
1846                 [Override ("Name"), Key, 
1847                  Description ("The inherited Name serves as a part of the "
1848                   "ConfigurationCapacity object key.") ]
1849 karl  1.2    string Name;
1850                 [Key, 
1851                  Description ("The type of object (power supply, fan, disk "
1852                   "drive, ...) whose capacities are indicated. This information "
1853                   "is part of the class' key."), 
1854                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
1855                          "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", 
1856                          "21", "22", "23", "24"}, 
1857                  Values {"Other", "Processors", "Power Supplies", "Fans", 
1858                          "Batteries", "I/O Slots", "Memory Slots", 
1859                          "MediaAccessDevices (Drives)", 
1860                          "StorageMediaLocation Slots", 
1861                          "StorageMediaLocation Magazines", 
1862                          "StorageMediaLocation Panels", 
1863                          "StorageMediaLocation InterLibrary Ports", 
1864                          "StorageMediaLocation Limited Access Ports", "Doors", 
1865                          "MediaTransferDevice Pickers", 
1866                          "MediaTransferDevice Changers", "LabelReaders",
1867                          "Contained Chassis", "Connected Chassis", 
1868                          "Connected Frames", "Front Side I/O Slots", 
1869                          "Back Side I/O Slots",
1870 karl  1.2                "Cache Memory", "NVS Memory", "Volatile Memory"}, 
1871                  ModelCorrespondence {
1872                   "CIM_ConfigurationCapacity.OtherTypeDescription"} ]
1873              uint16 ObjectType;
1874                 [Description (
1875                   "A string describing the object type - used when the "
1876                   "ObjectType property is set to 0 (\"Other\"). OtherType"
1877                   "Description should be set to NULL when ObjectType is any "
1878                   "value other than 0."), 
1879                  MaxLen (64), 
1880                  ModelCorrespondence {"CIM_ConfigurationCapacity.ObjectType"} ]
1881              string OtherTypeDescription;
1882                 [Description ("Minimum number of Elements of type, ObjectType, "
1883                   "that must be installed.") ]
1884              uint64 MinimumCapacity;
1885                 [Description (
1886                   "Maximum number of Elements of type, ObjectType, "
1887                   "that may be installed.") ]
1888              uint64 MaximumCapacity;
1889                 [Description ("Increment in which Elements must be added or "
1890                   "removed.") ]
1891 karl  1.2    uint32 Increment;
1892           };
1893           
1894           // ===================================================================
1895           // MediaPhysicalStatInfo
1896           // ===================================================================
1897              [Version ("2.6.0"), Description (
1898                "Statistics related to reading physical labels and picks/puts "
1899                "at a specific StorageMediaLocation, or for a specific piece "
1900                "of PhysicalMedia. Although the same class is used to represent "
1901                "this data, at the instance level the object holds information "
1902                "for the Location (independent of the Media), OR for the Media "
1903                "(independent of its StorageMediaLocation).") ]
1904           class CIM_MediaPhysicalStatInfo : CIM_PhysicalStatisticalInformation {
1905                 [Description (
1906                   "The number of successful physical label scans."),
1907                  Counter]
1908              uint64 ScanSuccesses;
1909                 [Description (
1910                   "The number of failed physical label scans."),
1911                  Counter]
1912 karl  1.2    uint64 ScanFailures;
1913                 [Description (
1914                   "The number of retried physical label scans."),
1915                  Counter]
1916              uint64 ScanRetries;
1917                 [Description (
1918                   "The number of successful picks."),
1919                  Counter]
1920              uint64 PickSuccesses;
1921                 [Description ("The number of failed picks."),
1922                  Counter]
1923              uint64 PickFailures;
1924                 [Description ("The number of retried picks."),
1925                  Counter]
1926              uint64 PickRetries;
1927                 [Description ("The number of successful puts."),
1928                  Counter]
1929              uint64 PutSuccesses;
1930                 [Description ("The number of failed puts."),
1931                  Counter]
1932              uint64 PutFailures;
1933 karl  1.2       [Description ("The number of retried puts."),
1934                  Counter]
1935              uint64 PutRetries;
1936                 [Description (
1937                   "Method to reset the statistical counters. The method "
1938                   "takes one parameter as input - an integer indicating which "
1939                   "counter to reset. For this input parameter, 0 indicates all, "
1940                   "1-3 reset the scan-related counters, 4-6 reset the "
1941                   "'pick'-related counters, and 7-9 reset the 'put'-related "
1942                   "counters. The method returns 0 if successful, 1 if not "
1943                   "supported, and any other value if an error occurred. A method "
1944                   "is specified so that the Element's instrumentation can also "
1945                   "reset its internal processing and counters. The set of "
1946                   "possible return codes should be specified in a ValueMap "
1947                   "qualifier on the method. The strings to which the ValueMap "
1948                   "contents are 'translated' should be specified as a Values "
1949                   "array qualifier on the method.") ]
1950              uint32 ResetCounter (
1951                   [IN, ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},  
1952                    Values {"All", "Scan Successes", "Scan Failures", 
1953                     "Scan Retries", "Pick Successes", "Pick Failures", 
1954 karl  1.2           "Pick Retries", "Put Successes", "Put Failures", 
1955                     "Put Retries"} ] uint16 SelectedCounter);
1956           };
1957           
1958           
1959           // ===================================================================
1960           //  UML Page 5 - Associations to LogicalElements 
1961           // ===================================================================
1962           // ===================================================================
1963           // DeviceServicesLocation 
1964           // ===================================================================
1965              [Association, Version ("2.6.0"), Description (
1966                "Within an automated StorageLibrary, Media should be accessible "
1967                "to the various robotics and MediaTransferDevices (Pickers, "
1968                "Changers, InterLibraryPorts, etc.). The Library may be "
1969                "serviced by different TransferDevices, each responsible for "
1970                "a subset of the Library's StorageMediaLocations. The Device"
1971                "ServicesLocation association indicates that the Transfer"
1972                "Device handles Media stored in the referenced Location. "
1973                "For example, LibraryPort 'A' may only service Media from "
1974                "Slots 1-10, while LibraryPort 'B' covers Slots 11-33. "
1975 karl  1.2      "This detail is conveyed by this association.") ]
1976           class CIM_DeviceServicesLocation : CIM_Dependency {
1977                 [Override ("Antecedent"), Description (
1978                   "The MediaTransferDevice that handles Media from the "
1979                   "StorageMediaLocation.") ]
1980              CIM_MediaTransferDevice REF Antecedent;
1981                 [Override ("Dependent"), Description (
1982                   "The MediaLocation that is serviced.") ]
1983              CIM_StorageMediaLocation REF Dependent;
1984                 [Description (
1985                   "Boolean indicating that the referenced StorageMediaLocation "
1986                   "is not currently accessible to the MediaTransferDevice. For "
1987                   "example, the Location could be the realization of an "
1988                   "InterLibraryPort that is currently servicing another "
1989                   "Library. The DeviceServicesLocation association describes "
1990                   "that the TransferDevice COULD service the MediaLocation. "
1991                   "This boolean indicates that that this is temporarily not "
1992                   "possible.") ] 
1993              boolean Inaccessible;
1994           
1995           };
1996 karl  1.2 
1997           // ===================================================================
1998           // RealizesExtent
1999           // ===================================================================
2000              [Association, Version ("2.6.0"), Description (
2001                "StorageExtents can be realized by PhysicalComponents. For "
2002                "example, disks or tapes are realized by PhysicalMedia. Memory "
2003                "is realized by PhysicalMemory. This relationship of Extents "
2004                "to PhysicalComponents is made explicit by the RealizesExtent "
2005                "association. In addition, the StartingAddress of the "
2006                "StorageExtent on the Component is specified here.") ]
2007           class CIM_RealizesExtent : CIM_Realizes {
2008                 [Override ("Antecedent"), Description (
2009                   "The PhysicalComponent on which the Extent is realized."), 
2010                  Max (1) ]
2011              CIM_PhysicalComponent REF Antecedent;
2012                 [Override ("Dependent"), Description (
2013                   "The StorageExtent that is located on the Component.") ]
2014              CIM_StorageExtent REF Dependent;
2015                 [Description (
2016                   "The starting address on the PhysicalComponent where the "
2017 karl  1.2         "StorageExtent begins. Ending address of the StorageExtent "
2018                   "is determined using the NumberOfBlocks and Block"
2019                   "Size properties of the StorageExtent object.") ]
2020              uint64 StartingAddress;
2021           };
2022           
2023           
2024           // ===================================================================
2025           // RealizesPExtent
2026           // ===================================================================
2027              [Association, Version ("2.6.0"), Description (
2028                "PhysicalExtents are realized on a PhysicalMedia. This "
2029                "relationship is made explicit by the RealizesPExtent "
2030                "association.  In addition, the StartingAddress of the "
2031                "PhysicalExtent on the PhysicalMedia is specified here.") ]
2032           class CIM_RealizesPExtent : CIM_RealizesExtent {
2033                 [Override ("Antecedent"),
2034                  Description (
2035                   "The PhysicalMedia on which the Extent is realized."),
2036                  Max (1) ]
2037              CIM_PhysicalMedia REF Antecedent;
2038 karl  1.2       [Override ("Dependent"),
2039                  Description (
2040                   "The PhysicalExtent that is located on the Media.") ]
2041              CIM_PhysicalExtent REF Dependent;
2042           };
2043           
2044           
2045           // ===================================================================
2046           // RealizesDiskPartition
2047           // ===================================================================
2048              [Association, Version ("2.6.0"), Description (
2049                "DiskPartitions can be directly realized on a PhysicalMedia. "
2050                "This is used to model the creation of Partitions on a raw SCSI "
2051                "or IDE drive, using the fdisk (DOS and Unix) or pdisk (Unix) "
2052                "command. The StartingAddress of the DiskPartition on the "
2053                "PhysicalMedia is also specified as a property of this "
2054                "relationship. An alternative is that Partitions can "
2055                "be BasedOn StorageVolumes, such as a VolumeSet or a Volume "
2056                "exposed by a hardware RAID cabinet. The latter relationship is "
2057                "modeled using the DiskPartitionBasedOnVolume association.") ]
2058           class CIM_RealizesDiskPartition : CIM_RealizesExtent {
2059 karl  1.2       [Override ("Antecedent"),
2060                  Description (
2061                   "The PhysicalMedia on which the Extent is realized."),
2062                  Max (1) ]
2063              CIM_PhysicalMedia REF Antecedent;
2064                 [Override ("Dependent"),
2065                  Description (
2066                   "The DiskPartition that is located on the Media.") ]
2067              CIM_DiskPartition REF Dependent;
2068           };
2069           
2070           
2071           // ===================================================================
2072           // RealizesAggregatePExtent
2073           // ===================================================================
2074              [Association, Version ("2.6.0"), Description (
2075                "AggregatePExtents are realized on a PhysicalMedia. This "
2076                "relationship is made explicit by the RealizesAggregatePExtent "
2077                "association.") ]
2078           class CIM_RealizesAggregatePExtent : CIM_RealizesExtent {
2079                 [Override ("Antecedent"),
2080 karl  1.2        Description (
2081                   "The PhysicalMedia on which the Extent is realized."),
2082                  Max (1) ]
2083              CIM_PhysicalMedia REF Antecedent;
2084                 [Override ("Dependent"),
2085                  Description (
2086                   "The AggregatePExtent that is located on the Media.") ]
2087              CIM_AggregatePExtent REF Dependent;
2088           };
2089           
2090           
2091           // ===================================================================
2092           // RealizesTapePartition 
2093           // ===================================================================
2094              [Association, Version ("2.6.0"), Description (
2095                "TapePartitions are realized on PhysicalTape. This "
2096                "relationship is made explicit by the RealizesTapePartition "
2097                "association.") ]
2098           class CIM_RealizesTapePartition : CIM_RealizesExtent {
2099                 [Override ("Antecedent"), Description (
2100                   "The PhysicalTape on which the Partition is realized."),
2101 karl  1.2        Max (1) ]
2102              CIM_PhysicalTape REF Antecedent;
2103                 [Override ("Dependent"), Description (
2104                   "The TapePartition that is located on the Media.") ]
2105              CIM_TapePartition REF Dependent;
2106           };
2107           
2108           
2109           // ===================================================================
2110           // RealizedOnSide
2111           // ===================================================================
2112              [Association, Version ("2.6.0"), Description (
2113                "Since removable PhysicalMedia can be dual-sided, there is the "
2114                "possibility for StorageExtents to be realized on a single side "
2115                "of the Media. This association is a specialization of the "
2116                "RealizesExtent relationship, adding a Side property to express "
2117                "the Media's orientation details.") ]
2118           class CIM_RealizedOnSide : CIM_RealizesExtent {
2119                 [Override ("Antecedent"), Max (1), Description (
2120                   "The PhysicalMedia on which the Extent is realized.") ]
2121              CIM_PhysicalMedia REF Antecedent;
2122 karl  1.2       [Description (
2123                   "An enumeration expressing on which 'Side' the Extent is "
2124                   "realized. Since sides can be named by various schemes (0/1 or "
2125                   "A/B), both schemes are expressed in the Values array of this "
2126                   "property."),
2127                  ValueMap {"0", "1", "2", "3", "4"},  
2128                  Values {"Unknown", "Side 0", "Side 1", "Side A", "Side B"} ]
2129              uint16 Side;
2130           };
2131           
2132           
2133           // ===================================================================
2134           // AdapterActiveConnection 
2135           // ===================================================================
2136              [Association, Version ("2.6.0"), Description (
2137                "The AdapterActiveConnection relationship indicates that a "
2138                "NetworkAdapter is using the referenced PhysicalConnector "
2139                "to output to the network. This relationship is important when "
2140                "the Adapter can choose to output from one of several "
2141                "Connectors. The Connectors may be associated with the "
2142                "NetworkAdapter in a Realizes relationship - but this is not "
2143 karl  1.2      "required. This association provides additional information "
2144                "(i.e., 'in use for communication') different than Realizes.") ]
2145           class CIM_AdapterActiveConnection : CIM_Dependency {
2146                 [Override ("Antecedent"), 
2147                  Description ("The PhysicalConnector.") ]
2148              CIM_PhysicalConnector REF Antecedent;
2149                 [Override ("Dependent"), 
2150                  Description (
2151                   "The NetworkAdapter that transmits using the Connector.") ]
2152              CIM_NetworkAdapter REF Dependent;
2153           };
2154           
2155           
2156           // ==================================================================
2157           // ComputerSystemPackage  
2158           // ==================================================================
2159              [Association, Version ("2.6.0"), Description (
2160                "Similar to the way that LogicalDevices are 'Realized' by "
2161                "PhysicalElements, UnitaryComputerSystems are realized in "
2162                "one or more PhysicalPackages. The ComputerSystemPackage "
2163                "association explicitly defines this relationship.") ]
2164 karl  1.2 class CIM_ComputerSystemPackage : CIM_Dependency {
2165                 [Override ("Antecedent"),
2166                  Description (
2167                   "The PhysicalPackage(s) that realize a Unitary"
2168                   "ComputerSystem.") ]
2169              CIM_PhysicalPackage REF Antecedent;
2170                 [Override ("Dependent"),
2171                  Description ("The UnitaryComputerSystem.") ]
2172              CIM_UnitaryComputerSystem REF Dependent;
2173                 [Description(
2174                   "A Gloabally Unique Identifier for the System's Package.") ]
2175              string PlatformGUID;
2176           }; 
2177           
2178           
2179           // ==================================================================
2180           // LibraryPackage 
2181           // ==================================================================
2182              [Association, Version ("2.6.0"), Description (
2183                "Similar to the way that LogicalDevices are 'Realized' by "
2184                "PhysicalElements, a StorageLibrary can be realized in one or "
2185 karl  1.2      "more PhysicalPackages. The LibraryPackage association "
2186                "explicitly defines this relationship.") ]
2187           class CIM_LibraryPackage : CIM_Dependency {
2188                 [Override ("Antecedent"), Description (
2189                   "The PhysicalPackage(s) that realize a StorageLibrary.") ]
2190              CIM_PhysicalPackage REF Antecedent;
2191                 [Override ("Dependent"), 
2192                  Description ("The StorageLibrary.") ]
2193              CIM_StorageLibrary REF Dependent;
2194           };
2195           
2196           
2197           // ==================================================================
2198           // PackageCooling  
2199           // ==================================================================
2200              [Association, Version ("2.6.0"), Description (
2201                "Often, a CoolingDevice is installed in a Package such as "
2202                "a Chassis or a Rack, not for a specific Device, but to assist "
2203                "in the cooling of the Package in general.  This relationship "
2204                "is described by the PackageCooling association.") ]
2205           class CIM_PackageCooling : CIM_Dependency {
2206 karl  1.2       [Override ("Antecedent"),
2207                  Description ("The CoolingDevice for the Package.") ]
2208              CIM_CoolingDevice REF Antecedent;
2209                 [Override ("Dependent"),
2210                  Description (
2211                   "The PhysicalPackage whose environment is cooled.") ]
2212              CIM_PhysicalPackage REF Dependent;
2213           };
2214           
2215           
2216           // ==================================================================
2217           // PackageTempSensor 
2218           // ==================================================================
2219              [Association, Version ("2.6.0"), Description (
2220                "Often, a TemperatureSensor is installed in a Package such as "
2221                "a Chassis or a Rack, not to measure any particular Device, but "
2222                "the Package's environment in general.  This relationship is "
2223                "described by the PackageTempSensor association.") ]
2224           class CIM_PackageTempSensor : CIM_Dependency {
2225                 [Override ("Antecedent"),
2226                  Description ("The TemperatureSensor for the Package.") ]
2227 karl  1.2    CIM_TemperatureSensor REF Antecedent;
2228                 [Override ("Dependent"),
2229                  Description (
2230                   "The PhysicalPackage whose environment is monitored.") ]
2231              CIM_PhysicalPackage REF Dependent;
2232           };
2233           
2234           
2235           // ==================================================================
2236           // PackageAlarm 
2237           // ==================================================================
2238              [Association, Version ("2.6.0"), Description (
2239                "Often, an AlarmDevice is installed as part of a Package, "
2240                "not to indicate issues with any particular LogicalDevice "
2241                "or PhysicalComponent, but with the Package's environment "
2242                "in general, its security state or its overall health. " 
2243                "This relationship is described by the PackageAlarm "
2244                "association. ") ]
2245           class CIM_PackageAlarm : CIM_Dependency {
2246                 [Override ("Antecedent"), 
2247                  Description ("The AlarmDevice for the Package. ") ]
2248 karl  1.2    CIM_AlarmDevice REF Antecedent;
2249                 [Override ("Dependent"), 
2250                  Description (
2251                   "The PhysicalPackage whose health, security, environment, "
2252                   "etc. is alarmed. ") ]
2253              CIM_PhysicalPackage REF Dependent;
2254           };
2255           
2256           // ===================================================================
2257           // HomeForMedia
2258           // ===================================================================
2259              [Association, Version ("2.6.0"), Description (
2260                "  In a StorageLibrary or repository for PhysicalMedia, it is "
2261                "reasonable that a specific Media always be placed in a "
2262                "specific Location (rather than anywhere in the repository/"
2263                "Library).  The default location for a PhysicalMedia is called "
2264                "its 'home'. This information is expressed by the HomeForMedia "
2265                "dependency association. (Note that a PhysicalMedia can have at "
2266                "most one 'home', and a StorageMediaLocation can be 'home' to "
2267                "at most one Media.)" ) ]
2268           class CIM_HomeForMedia : CIM_Dependency {
2269 karl  1.2       [Override ("Antecedent"), Max (1), Description (
2270                   "The Location that is 'home' to a piece of PhysicalMedia.") ]
2271              CIM_StorageMediaLocation REF Antecedent;
2272                 [Override ("Dependent"), Max (1), Description (
2273                   "The PhysicalMedia whose 'home' or default Location is "
2274                   "defined.") ]
2275              CIM_PhysicalMedia REF Dependent;
2276           };
2277           
2278           
2279           // ==================================================================
2280           // end of file
2281           // ==================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2