4.1 Meta Model Defined AADL Models
The AADL meta model defines the structure of AADL models, i.e., an object representation of AADL specifications that corresponds to a semantically decorated abstract syntax tree. The object representation of AADL models can be manipulated programmatically through an API. The object representation of AADL models can also be persistently stored as XML documents in an interchangeable manner by different tools that support AADL by adhering to an XML schema or XMI meta model specification. Both of these are derived from the AADL meta model.
Three model representations and persistent XML formats of AADL models have been identified:
    • A declarative AADL model: AADL specifications in form of component types, component implementations, port group types, annex libraries, packages organizing these declarations, and property sets introducing additional property types, property constants, and property names.
    • A graphical layout model: Layout information for the graphical display of AADL models. The graphical layout representation is associated with AADL models in their declarative representation and instance model.
    • An AADL instance model: A compact representation of a system instance whose root is a system implementation in an AADL specification. This model contains AADL properties relevant for backend processing. Declarative information is accessible, if needed, through cross-document references to the declarative model.
Figure 17 shows the three model representations and their relationship to the textual and graphical AADL representation as well as to tools that process and analyze AADL models.
The declarative AADL model reflects AADL specifications and supports translation from and to the textual AADL representation. A parser translates text into a declarative AADL model. Name resolution, semantic checking and other static analysis can be performed on this in-core object model of the declarative AADL model. Results of such analysis can be recorded in the declarative AADL model as property values. This makes analysis results available in a standard format for other analysis and for generation tools as illustrated in Figure 17. An XML-to-Text converter can reproduce textual AADL from the declarative AADL model.
The graphical AADL model is supported by graphical editing tools operating on the declarative AADL model and using the graphical layout model to maintain relevant layout information about the AADL model. Graphical presentation of AADL instances is supported in a similar manner.
The declarative AADL model contains information that is relevant to assure the semantic consistency of AADL models. However, this information is often not relevant to backend analyses and runtime system generation. Therefore, a more compact AADL instance model is desirable that is tailored to such processing. This AADL instance model is derived from the declarative AADL model. It is used by analyses of system instances, in many cases analyses that require a system model in which application components are bound to execution platform components. Such analysis tools may operate on an in-core object representation of the AADL instance model directly, or filters convert this representation into an analysis tool specific representation. Results from such analysis can be recorded as properties in the AADL instance model and mapped back into the declarative AADL model as necessary.

Figure 17 AADL Models and Tools
A full discussion of the AADL Meta Model and the interchange format can be found in Annex D of the SAE AADL Standard [SAE AADL 2005]. In the context of this note we will refer to the meta model class AObject that is the common super class of all AADL model objects and to InstanceObject as the common super class of all instance model objects.