Figure 1: Relationship Diagram of AADL and Other Modeling Languages
AADL (Architecture Analysis and Design Language) is a modeling language applied in the field of embedded systems architecture, supporting the design and analysis of complex real-time safety-critical systems in fields such as aerospace, automotive, and more. AADL has advantages such as simple syntax, powerful functions, and extensibility, allowing for modeling and description of both functional and non-functional properties of embedded software, standardizing the classification of software and hardware in real-time systems, providing precise semantic definitions, and enabling early analysis and verification of the system during development.
Figure 2: AADL Component Categories
AADL specifications represent the component model of a computer system’s runtime architecture, consisting of application software (usually embedded, safety-critical, mission-critical, or performance-critical) and execution platforms (and computer hardware). Components represent parts of the system and interact with other components. The system is composed of layers of interacting components. AADL specifications consist of package declarations and property set declarations. An AADL package contains component specifications, AADL component types and implementations, as well as functional component types and attachment libraries. The standard defines data, subprograms, subprogram groups, threads, thread groups, and processes as categories of application software components, while memory, buses, virtual buses, processors, virtual processors, and devices are defined as categories of execution platform components. Systems and abstractions are defined as general composite components, forming the core of the AADL modeling vocabulary.
AADL uses a stepwise refinement modeling approach, allowing modeling at different stages and from different levels: top-level design primarily describes the various modules of the system and their relationships; bottom-level design primarily describes the software and hardware composition of the modules, as well as the relationships between software and hardware, and between software and hardware.
Figure 3: AADL Modeling Process
►
AADL Component Types
Figure 4: Architecture Model Based on AADL
AADL defines many types of components, mainly divided into three categories: software components, execution platform components, and composite components. The semantics and combination rules of components within each category are strictly defined.
01
Software components define the application elements in the system architecture, including data, threads, thread groups, processes, subprograms, and subprogram groups.
Figure 5: Application Software Component Categories
02
Execution platform components define hardware elements, including buses, memory, processors, devices, virtual buses, and virtual processors.
Figure 6: Execution Platform Component Categories
03
Composite components are used to collect various different components (software and hardware) and logically establish the system architecture in a physical form.
►
Component Features
Figure 7: Component Features
The features of the components are declared in the component types, and the component implementations automatically synchronize with the features declared in the type definitions. AADL defines many features, such as interactive input/output ports, subprogram parameters, subprogram access, etc. They are connected through ports defined in the component implementations.
►
Extended Language
01
Property sets can define new properties, property types, and property constants. AADL has a set of built-in properties that can be directly used in property definitions, and custom property types can also be defined. Property definition specifications allow defining a new property by specifying a name and a specified property type. Property constants can be understood through symbolic names.
02
Attachment sublanguages can provide new categories of model elements, allow specifying classification symbols for model element categories, define properties that can be associated with them, and link instances of model elements to components.
►
AADL Syntax
Figure 8: AADL Code Example
Based on the designed AADL model, AADL code can be generated. AADL is a formal descriptive language described with context-free syntax.
►
Advantages of AADL Architecture Modeling
01
Using AADL helps engineers clearly define the architectural composition model of embedded system software. AADL provides a standard and sufficiently precise (machine-processable) way to model the architecture of embedded real-time systems (such as avionics systems or automotive control systems) to analyze their properties and support predictable integration of their implementation. It is effective for developing architectural models using platform-independent and platform-dependent elements, leveraging the language’s clearly defined semantics for extensive quantitative analysis at early stages and throughout the entire lifecycle.
02
AADL focuses on the interaction between the physical system architecture, the runtime architecture of embedded application software, and the computer platform. It provides deep insights into the impact of implementing system functionality on software and offers understanding regarding runtime architectures for applications, such as operating systems and communication protocols, as well as decisions made for deployment on distributed computer platforms.
03
Building architectural design models based on AADL provides a foundational basis for the subsequent detailed design of system software control logic algorithms, with module composition, module interfaces, and calls directly usable for detailed design.
References:
“Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis and Design Language” by Peter H. Feiler; David P. Gluch; translated by the Key Laboratory of Photoelectric Control Technology.
SAE AS 5506B Architecture Analysis & Design Language (AADL)
END
Previous Recommendations
Model-Based Information Security Analysis Solution – medini analyze
“
For more product information, please click ‘Read the original text’ below