Architecture Analysis and Design Language (AADL) Tool
June 2015 • Software
AADL provides a framework for analyzing system designs and supports architecture-centric, model-based development through the system lifecycle.
System developers and researchers use AADL to predict and validate nonfunctional properties. In addition to providing technical leadership for AADL development, the SEI provides training and technical assistance to support the use of this standard language for architecture design and analysis.
The AADL lowers costs in development and maintenance through (1) a well-defined architecture documentation based on a precise syntax and semantics, (2) a single architectural model of multi-contractor systems that supports multiple analyses, (3) evaluation of the effect of architectural choices, (4) early and life-cycle tracking of modeling and analysis, (5) analysis of system structure and runtime behavior rather than functional behavior, and (6) a complement to reference architectures and component-based or product-line development.
AADL consists of a textual and graphical language with precise execution semantics for modeling the architecture of embedded software systems and their target platforms, an XML/XMI interchange format to support AADL model exchange between contractors and interoperability with commercial and in-house tools, and an error model annex as a standardized AADL extension to support fault/reliability modeling and hazard analysis.
AADL can be used to model embedded systems as component-based system architecture; component interactions as flows, service calls, and shared access; task execution and communication with precise timing semantics; and execution platform and specify application binding; and operational modes and fault tolerant configurations.
The language also supports component evolution and large-scale development and accommodates analyses such as reliability and safety criticality (through extensions).
The benefits of using AADL include (1) prediction and validation of runtime characteristics such as availability, timeliness, and security; (2) validation of system architectures and implementations; (3) improved development process through a single annotated architecture model; (4) AADL models as deliverables and subcontractor management; and (5) interoperability and integration of commercial and in-house tools.