![]() ![]() |
||||
|
||||
A component classifier or port group type declaration
can extend another component classifier or
port group type. This extension can refine previously declared model elements or add new model
elements. This extends relationship is represented by an extends reference association
of each
category-specific component type or implementation or a port group type to itself. Figure 19 shows
this reference relation for the process type, process implementation, system type, and system
implementation.
The extends reference association represents an
extension inheritance relationship. The model
elements being inherited are not explicitly replicated in the persistent XML representation of the
extension. Instead extension inheritance is used to keep the size of AADL object models and XML
documents smaller.
Refinement of previously declared model elements in component
types and implementations is
represented by a refines reference association of each concrete subclass that is acceptable
content to component types, component implementations, a port group types. Figure 19 shows
the refines reference association for the ProcessSubcomponent and SystemSubcomponent
class.
The object representing the refined model element only contains the refinements in its persistent
XML representation. Methods on the AADL object model provide access to the refined as well as
the inherited attributes and associations of the refined object.
The extends reference association and the refines
reference association are defined for each
category to ensure that the references are to objects of the same class. |
||||