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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2