// Copyright (c) 2005 DMTF.  All rights reserved.
   [Association, Aggregation, Version ( "2.10.0" ), 
    UMLPackagePath ( "CIM::Core::CoreElements" ), 
    Description ( 
       "CIM_ConcreteComponent is a generic association used to "
       "establish \'part of\' relationships between ManagedElements. "
       "It is defined as a concrete subclass of the abstract "
       "CIM_Component class, to be used in place of many specific "
       "subclasses of Component that add no semantics, that is "
       "subclasses that do not clarify the type of composition, update "
       "cardinalities, or add or remove qualifiers. Note that when you "
       "define additional semantics for Component, this class must not "
       "be subclassed. Specific semantics continue to be defined as "
       "subclasses of the abstract CIM_Component. ConcreteComponent is "
       "limited in its use as a concrete form of a general "
       "composition. \n"
       "\n"
       "It was deemed more prudent to create this concrete subclass "
       "than to change Component from an abstract to a concrete class. "
       "Industry usage and impact could not be anticipated." )]
class CIM_ConcreteComponent : CIM_Component {

      [Aggregate, Override ( "GroupComponent" ), 
       Description ( "The parent element in the association." )]
   CIM_ManagedElement REF GroupComponent;

      [Override ( "PartComponent" ), 
       Description ( "The child element in the association." )]
   CIM_ManagedElement REF PartComponent;


};
