1. Introduction
The SAE Architecture Analysis &Design Language (referred to in this document as AADL) is a textual and graphical language used to design and analyze the software and hardware architecture of performance-critical real-time systems.  These are systems whose operation strongly depends on meeting non-functional system requirements such as reliability, availability, timing, responsiveness, throughput, safety, and security.  The AADL is used to describe the structure of such systems as an assembly of software components mapped onto an execution platform.  It can be used to describe functional interfaces to components (such as data inputs and outputs) and performance-critical aspects of components (such as timing).  The AADL can also be used to describe how components interact, such as how data inputs and outputs are connected or how application software components are allocated to execution platform components.  The language can also be used to describe the dynamic behavior of the runtime architecture by providing support to model operational modes and mode transitions.  The language is designed to be extensible to accommodate analyses of the runtime architectures that the core language does not completely support.  Extensions can take the form of new properties and analysis specific notations that can be associated with components.
The AADL was developed to meet the special needs of performance-critical real-time systems, including embedded real-time systems such as avionics, automotive electronics, or robotics systems.  The language can describe important performance-critical aspects such as timing requirements, fault and error behaviors, time and space partitioning, and safety and certification properties. Such a description allows a system designer to perform analyses of the composed components and systems such as system schedulability, sizing analysis, and safety analysis. From these analyses, the designer can evaluate architectural tradeoffs and changes. 
Since the AADL supports multiple and extensible analysis approaches, it provides the ability to analyze the cross cutting impacts of change in the architecture in one specification using a variety of analysis tools.  The AADL specification language is designed to be used with analysis tools that support the automatic generation of the source code needed to integrate the system components and build a system executive.  Since the models and the architecture specification drive the design and implementation, they can be maintained to permit model driven architecture based changes throughout the system lifecycle.