4.6 Category-Specific Containment and Ordering
AADL specifications, as well as public and private package sections, contain category-specific component classifiers (see Figure 17). The component category specific Features subclasses contain Feature subclasses representing data, event, and event data ports, port groups, parameters, data access, and bus access features (see Figure 21).  The Connections class contains Connection subclasses that are specific to feature subclasses (see Figure 23).  The FlowSpecs class contains FlowSpec subclasses that reflect flow sources, flow sinks, and flow paths (see Figure 26).  Similarly, the FlowSequence class contains subclasses for flow source, sink, and path implementations, and for end-to-end flows.
These containments are represented by containment associations to the specific subclasses with the association name reflecting the subclass name.  This results in XML element tags that correspond to the subclass name.  These associations are specializations of a containment association defined between the container, e.g., the AadlSpec class, and the abstract super class of the contained classes, e.g., the Classifier class in Figure 32. 
By default the contained objects are stored in an XML document grouped by their specialized containment associations.  This does not maintain the declaration order found in a textual AADL model.  An Ecore FeatureMap concept has been used to specify a desired containment ordering across all contained elements of specialized containment associations independent of their subclass.   The result is an XML document with XML elements stored in the declaration order across the specializations and use of the XML element tags of the concrete subclasses.