// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="SysDevCR00711.001" type ="change">Update of
// descriptions based on Tech Edit review.</change>
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_SystemComponent
// ==================================================================
   [Association, Aggregation, Version ( "2.10.0" ), 
    UMLPackagePath ( "CIM::Core::CoreElements" ), 
    Description ( 
       "CIM_SystemComponent is a specialization of the CIM_Component "
       "association that establishes \'part of\' relationships between "
       "a System and any ManagedSystemElements of which it is "
       "composed. \n"
       "Use this association with caution when using it instead of a "
       "subclass such as SystemDevice or a peer association such as "
       "HostedService. This class is very broadly defined, which can "
       "lead to erroneous use. For example, Access Points that are "
       "dependent on (and hosted on) a System are NOT Components of "
       "the System. The System is not made up of any AccessPoint "
       "\'parts\', which is why a Dependency association, "
       "HostedAccessPoint, was defined. Similarly, a PhysicalPackage "
       "is not a \'part\' of a System, because the physical element "
       "exists independently of any internal components, software, and "
       "so on. In fact, again, a Dependency relationship is true where "
       "a ComputerSystem is Dependent on its packaging, as described "
       "by the ComputerSystemPackage association." )]
class CIM_SystemComponent : CIM_Component {

      [Aggregate, Override ( "GroupComponent" ), 
       Description ( "The parent System in the Association." )]
   CIM_System REF GroupComponent;

      [Override ( "PartComponent" ), 
       Description ( 
          "The child element that is a component of a System." )]
   CIM_ManagedSystemElement REF PartComponent;


};
