Architecture Analysis & Design Language
The Architecture Analysis & Design Language (AADL) is an architecture description language standardized by SAE. AADL was first developed in the field of avionics, and was known formerly as the Avionics Architecture Description Language.
The Architecture Analysis & Design Language is derived from MetaH, an architecture description language made by the Advanced Technology Center of Honeywell. AADL is used to model the software and hardware architecture of an embedded, real-time system. Due to its emphasis on the embedded domain, AADL contains constructs for modeling both software and hardware components (with the hardware components named "execution platform" components within the standard). This architecture model can then be used either as a design documentation, for analyses (such as schedulability and flow control) or for code generation (of the software portion), like UML.
AADL is defined by a core language that defines a single notation for both system and software aspects. Having a single model ease the analysis tools by having only one single representation of the system. The language specifies system-specific characteristics using properties.
The language can be extended with the following methods:
- user-defined properties: user can extend the set of applicable properties and add their own to specify their own requirements
- language annexes: the core language is enhanced by annex languages that enrich the architecture description. For now, the following annexes have been defined.
- Behavior annex: add components behavior with state machines
- Error-model annex: specifies fault and propagation concerns
- ARINC653 annex: defines modelling patterns for modelling avionics system
- Data-Model annex: describes the modelling of specific data constraint with AADL
AADL is supported by a wide range of tools:
- OSATE that includes a modeling platform, a graphical viewer and a constraint query languages
- Ocarina, an AADL toolchain for generating code from models
- TASTE toolchain supported by the European Space Agency
A complete list of the tool set can be found on the AADL public wiki
AADL has been used for the following research projects:
- AVSI/SAVI: an initiative that leverages AADL (among other languages) to perform virtual integration of aerospace and defense systems
- META: a DARPA project for improving software engineering methods
- PARSEC: a French initiative to validate and implement avionics systems from architecture models
- TASTE: a platform for designing safety-critical systems from models
A complete list of the past and current projects/initiatives can be found on the AADL public wiki