Welcome AADL resource pages
AADL is an Architecture Description Language dedicated to the modeling and analysis of real-time, safety critical, embedded systems.
AADL is backed by tools supporting a whole range of analysis: scheduling, safety, model checking, but also code generation. .
Libraries of reusable models, and examples are available to try and learn more about AADL and its toolchains.
AADL is an Architecture Description Language dedicated to the modeling and analysis of real-time, safety critical systems. It is a standard published by the Society of Automotive Engineers as reference AS5506B.
AADL relies on well-defined abstraction for modeling embedded systems, coupled with an extensive set of non-function properties to precise all configuration parameters. It is complemented with annex languages that help refining its semantics. The first volume of annexes defines patterns for modeling IMA systems, behavior or data modeling. See AS5506/2 standard for more details.
AADL relies on both a graphical and textual syntax to model a system, the example below is a subset of a basic model, with one periodic thread.
package foo_pkg public -- sample AADL model thread foo features a : in event data port; properties Dispatch_Protocol => Periodic; Compute_Execution_Time => 5 ms .. 10 ms; Source_Text => "foobar"; end foo; end foo_pkg;
Several tutorials for AADL are provided in the blog section of this site. They illustrate the various steps from basic modeling phases down to analysis and code generation.
AADL is backed by several tools, covering many engineering steps, from modeling down to various steps of analysis: scheduling, safety and reliability, model checking and code generation. Such diversity supports the engineering of complex systems in a model-based way. Tools are presented as part of tutorials on AADL.