Architecture Analysis and Design Language (AADL)
Created July 2019 • Updated February 2022
As software for avionics, cyber-physical, and autonomous systems becomes increasingly complex, the cost to assure these and other mission- and safety-critical systems is growing. Software attributes that impede analysis and concerns such as performance, safety, and security are responsible for this increase.
The Architecture Analysis and Design Language (AADL) is an SAE international standard that addresses these issues by defining guidelines for design and analysis through a Domain-Specific Modeling Language (DSML).
Abstracting Large Software for Analysis
AADL captures large designs through high-level architectural concepts built after domain expertise: component categories that describe key building blocks, such as processor, devices, threads, and rules to assemble them. Through careful abstractions, complex designs can be captured as smaller models amenable to inspection and analysis.
Analyzing for Multiple Concerns
Design teams can review AADL models, use automated tools to assess conformance to modeling guidelines, and run analyses to uncover design problems or validate a design. Since its inception, the SEI is the driving force of the SAE AADL standard. Our core team demonstrated how to implement and apply tool-supported analysis methods on complex systems. Our portfolio of analysis covers performance, safety, and security. We directed multiple pilot studies that demonstrate the efficiency of the approach on different classes of systems.
Leveraging Digital Engineering
Using SAE AADL, systems architects leverage digital engineering for the design and validation of complex safety-critical systems in two critical phases of a system design:
- During early stages, SAE AADL provides early analysis capabilities to mitigate integration risks. This capability is the core of the Architecture Centric Virtual Integration Process (ACVIP) that is being transitioned to SEI customers.
- During system evolutions, SAE AADL analysis capabilities allow for trade-off analysis to select the best update approach.
As a language, AADL can interoperate with other modeling notations (e.g., SysML, UML) and be integrated into larger Systems Engineering approaches (e.g., MOSA). The SEI and its partners have developed technical reports, open-source software, and teaching course to aid in applying AADL.
Model-Based Development for Safety-Critical Systems
AADL is a modeling language with an architecture-centric, model-based development approach throughout the system lifecycle. AADL is targeted at real-time, safety-critical embedded systems where components are tightly coupled. These systems need specific validation and verification capabilities to demonstrate system correctness across all dimensions: functional, performance, safety, and security.
AADL has rich semantics that can be exercised to analyze and generate the system. AADL is also a standard promoted by SAE International: AS5506C.
Benefits of Using an Open Standard
As an open standard, the AADL language is
- industry-grade: AADL provides textual and graphic notation with precise semantics to model applications and execution platforms.
- ready to use: AADL is supported by commercial and open-source tool solutions
- unambiguous: one model can be analyzed for multiple qualities
- interoperable: AADL can integrate with other modeling notations for systems modeling OMG SysML, FACE and also functional modeling like Matlab Simulink or ANSYS SCADE
Benefits for Your Organization
The SAE AADL standard lowers development and maintenance costs by
- providing a standard for modeling performance-critical systems
- defining precise semantics for conducting multiple analyses on the same model
- supporting large-scale (multi-contractor) architectures from many aspects in a single analyzable model that can be incrementally refined and detailed architectures of subsystems
- focusing on the architecture of a system to evaluate the effect of change, such as the emergent properties of integration (e.g., safety, schedulability, end-to-end latency, and security)
- complementing other notations and approaches like functional simulation through the analysis of the system structure and runtime
- supporting reference architectures for avionics, security or safety, and component-based or product-line development
Collaborators
Several Department of Defense projects have used AADL, including the Joint Multi-Role Technology Demonstrator, Future Vertical Lift, and the DARPA High-Assurance Cyber Military Systems program.
The U.S. Army Joint Multi-Role Technology Demonstrator (JMR TD), which is helping to develop the DoD’s next-generation rotorcraft fleet (Future Vertical Lift), is accelerating its adoption of AADL after a successful shadow project by the SEI and Adventium Labs showed potential requirements and system-integration issues could be identified early in the development process.
The DARPA High-Assurance Cyber Military Systems program used AADL in its work the Secure Mathematically-Assured Composition of Control Models project to reduce security risks of software in unmanned vehicles. A red team was unable to penetrate their software over a six-week period, despite access to source code, due to their use of contract-based compositional verification, auto-code generation from verified models, and a certified real-time OS kernel.
Flexibility in Augmenting the AADL Model
There are two ways to augment an AADL model to add characteristics other than those defined in the core language: user-defined properties and annexes.
There are two ways to augment an AADL model to add characteristics other than those defined in the core language: user-defined properties and annexes.
- User-defined AADL properties are a quick and simple way to add new characteristics to the AADL elements (e.g., components, features, OSATE connections) and do not need specific tool support.
- AADL annexes are more complex and augment the core language with new elements. They need a specific parser, so they are not supported natively by the existing complier.
This year, a number of updates were made to the toolset, including enhancements to the graphical editor and several analysis capabilities, and the creation of a workflow layer that will extend its adoption by practitioners.
Software and Tools
Architecture Analysis and Design Language (AADL) Tool
June 2015
AADL provides a framework for analyzing system designs and supports architecture-centric, model-based development through the system...
readLearn More
Reachability of System Operation Modes in AADL
May 31, 2024 Technical Report
Lutz Wrage
This report presents an algorithm that constructs the set of reachable SOMs for a given AADL model and the transitions between...
readThe OSATE Slicer: Fast Reachability Query Support for Architectural Models
November 13, 2023 Blog Post
Sam Procter
Our post introduces the OSATE Slicer, a new extension to the Open Source AADL Tool Environment that adapts a concept called slicing to architectural models of embedded, critical...
readSoftware Modeling: What to Model and Why
January 30, 2023 Blog Post
John McGregor, Sholom G. Cohen
This post describes modeling and analysis activities intended to achieve robust design, define the modeling chain, and effect evolution from specification to...
readA Model-Based Tool to Assist in the Design of Safety-Critical Systems
March 07, 2022 Blog Post
Sam Procter
The design of critical systems—those used in aircraft, medical devices, etc.—is becoming increasingly challenging as they increase in sophistication and...
readACVIP Perspective on AADL
September 13, 2021 Video
This training video reviews the Architecture Centric Virtual Integration Process (ACVIP) for model creators and model...
watch11 Rules for Ensuring a Security Model with AADL and Bell–LaPadula
July 29, 2021 Podcast
Aaron Greenhouse
Aaron Greenhouse, a senior software architecture researcher, discusses 11 analysis rules that must be enforced over an AADL instance to ensure the consistency of a security model....
learn moreRelated Courses
Modeling System Architectures Using the Architecture Analysis and Design Language (AADL) - eLearning
ONLINE
Modeling and validating quality attributes for real-time, embedded systems is often done with low-fidelity software models and disjointed architectural specifications by various engineers using their own specialized notations. These models are typically not maintained or analyzed throughout the lifecycle, making it difficult to predict the impact...
RegisterAADL in Practice Workshop
The AADL in Practice Workshop combines AADL training and an AADL modeling workshop to provide practical knowledge as well as an opportunity to practice skills in a realistic setting. This Workshop will transfer expertise to participants through an effective combination of training and mentoring during practice. Organizations seeking to increase...
Register