Syntax Rules

The following are some basic syntax rules for AADL.

A syntax summary is provided on a AADL V2.1 syntax card

For a complete and formal definition of syntax rules, please refer to the AADL standard or the AADL book "Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis é Design Language".

inport: in event port ; t1: thread t in modes ( m1 , m2 );
AADL entityRulesExamples
  • start with a letter
  • end with a letter or number
  • no space or special character
process pr_server
Component implementation name
  • component type identifier
  • (".")
  • implementation identifier
process implementation pr_server.one_thread
or
process implementation pr_server.multi_threads
Qualified classifier name Component types, component implementations, and feature group types are referenced by the qualified name. They are qualified with the package name followed by "::"
aircraft::hardware::PowerPC.Mhz900
or
DataDictionaries::GlobalDictionary
Nested package names Package names can be nested, i.e., they can be a sequence of identifiers separated by "::"
aircraft::hardware
Property sets Property set names are single identifiers
aircraft::hardware
Matching end Component types, component implementations, feature group types, packages, and property sets end with the keyword end followed by their name.
end aircraft::hardware::PowerPC.Mhz900
Case sensitivityAADL is case insensitive for both keywords and identifiers.Identifiers MyHouse and myhouse are the same
White spacespace, tab, and newline are considered white space
CommentsComments start with "--" and go to the end of the line. You can comment or uncomment multiple lines with the keyboard shortcut "ctrl""/"
ecu: system HardwarePlatform::cc_mcu; -- processor
SemicolonSemicolons (";") are used as the last symbol (terminator) in a declaration, such as a classifier declaration, a feature declaration, subcomponent declaration, or property assignment.
Lists and commasParentheses ‘(‘ and ‘)’ are used to bracket lists. Commas are used as separators between list elements.
CommentsComments start with "--" and go to the end of the line
ecu: system HardwarePlatform::cc_mcu; -- processor