// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="CIMCoreCR865" type="add">Errata to add MAX(1) 
// qualifier to GroupComponent.</change>
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_ComponentCS 
// ==================================================================
   [Association, Aggregation, Composition, Version ( "2.13.0" ), 
    UMLPackagePath ( "CIM::System::SystemElements" ), 
    Description ( 
       "A ComputerSystem can aggregate another ComputerSystem. This "
       "association can be used to model MPP Systems with workstation "
       "frontends, an I2O subsystem embedded in a Unitary "
       "ComputerSystem, or a System that splits functionality between "
       "two processors, potentially running different Operating "
       "Systems. For example, if a CISC Processor and its associated "
       "OperatingSystem, are used for user interface and file support, "
       "and a RISC Processor and its OS are used for complex "
       "mathematical operations, this could be modeled as two "
       "ComputerSystems where one aggregates the other. In some cases, "
       "this could be modeled as a Cluster. The difference is the "
       "focus of the relationship. ComponentCS represents that unique "
       "and distinct ComputerSystems are aggregated by a higher level "
       "CS object. However, each of the component CSs are still "
       "distinguishable entities and are only viewed as such. "
       "Alternately, with a Cluster, the ComputerSystems that "
       "participate in it are inconsequential, when viewed through the "
       "\'Cluster System\'. \n"
       "\n"
       "When instantiating or subclassing the ComponentCS "
       "relationship, care should be taken that the component "
       "ComputerSystem meets the definitional requirements of a "
       "ComputerSystem - ie, a functional whole that provides compute "
       "capabilities and aggregates System Devices, an "
       "OperatingSystem, etc." )]
class CIM_ComponentCS : CIM_SystemComponent {

      [Aggregate, Override ( "GroupComponent" ), 
       MAX ( 1 ), 
       Description ( 
          "The ComputerSystem that contains and/or aggregates other Systems."
           )]
   CIM_ComputerSystem REF GroupComponent;

      [Override ( "PartComponent" ), 
       Description ( "The contained (Sub)ComputerSystem." )]
   CIM_ComputerSystem REF PartComponent;


};
