(1) As necessary, the term AADL V2 will be used to refer to the revised version of AADL defined in this document.
(2) The AADL standard consists of this core language document and a set of annex documents of standardized extensions. This core language document contains a number of sections and appendices. The sections define the core AADL. The appendices provide additional information, both normative and informative about the core language. Annex documents introduce additional standardized properties and possibly language extensions in the form of specialized notations.
(3) AADL concepts are introduced in section 3, Architecture Analysis & Design Language Summary. They are defined with full syntactic and semantic descriptions as well as naming and legality rules in succeeding sections. The vocabulary and symbols of AADL are defined in Section 15. Appendix B , Glossary, provides informative definitions of terms used in this document. Other appendices include a Syntax Summary and Predeclared Property Sets. The remainder of this section introduces notations used in this document and discusses standard conformance.
(4) This core AADL document consists of the following:
· Section 2, References, provides normative and applicable references as well as terms and definitions.
· Section 3, Architecture Analysis & Design Language Summary, introduces and defines the concepts of the language.
· Section 4, Components, Packages, and Annexes, defines the common aspects of components, which are the design elements of AADL, as well as component template parameterization. It also introduces the package, which allows organization of the design elements in the design space. This section closes with a description of annex subclauses and libraries as annex-specific notational extensions to the core AADL.
(5) The next sections introduce the language elements for modeling application and execution platform components in modeled systems or systems of systems.
· Section 5, Software Components, defines those modeling elements of AADL that represent application system software components, i.e., data, subprogram, subprogram group, thread, thread group, and process.
· Section 6, Execution Platform Components, defines those modeling elements of AADL that model execution platform components, i.e., processor, virtual processor, memory, bus, virtual bus, and device.
· Section 7, System Composition, defines system as a compositional modeling element that combines execution platform and application system software components.
· Section 8, Features and Shared Access, defines the features of components that are connection points with other components. These consist of ports, subprogram parameters, provided and required access to data, subprograms, and buses, as well as grouping of features into feature groups.
· Section 9, Connections , defines the constructs to express interaction between components in terms of connections between component features.
· Section 10, Flows, defines the constructs to express flows through a sequence of components, and connections.
· Section 11, Properties, defines the AADL concept of properties including property sets, property value association, property type, and property declaration. Property associations and property expressions are used to specify values. Property set, property type, and property name declarations are used to extend AADL with new properties.
· Section 12, Modes, defines modes and mode transitions to support modeling of operational modes with mode-specific system configurations and property values.
· Section 13, Operational System, defines the concepts of system instance and binding of application software to execution platforms. This section defines the execution semantics of the operational system including the semantics of system-wide mode switches.
· Section 14, Layered System Architectures, defines support for modeling layered architectures.
(6) Section 15, Lexical Elements, defines the basic vocabulary of the language. As defined in this section, identifiers in AADL are case insensitive. Identifiers differing only in the use of corresponding upper and lower case letters are considered as the same. Similarly, reserved words in AADL are case insensitive.
(7) The following Appendix sections complete the definition of the core AADL.
· Appendix A Predeclared Property Sets, contains the standard AADL set of predeclared properties, property types, and property constants.
· Appendix B Glossary, contains a glossary of terms.
· Appendix C Syntax Summary, contains a summary of the syntax as defined in the sections of this document.
· Appendix D Graphical AADL Notation, defines a graphical representation of AADL.
· Appendix E AADL Meta Model and XML Specification, defines an XML-based interchange format in form of an XMI meta model and an XML schema.
· Appendix F Unified Modeling Language (UML) Profile, defines a profile for UML that extends and tailors UML to support modeling in terms of AADL concepts. This profile is defined in the context of the Object Management Group (OMG) Modeling and Analysis of Real-Time Embedded systems (MARTE).
· Appendix G Profiles and Extensions, contains profiles and extensions that have been approved by the standards body.
(8) The annex documents introduce additions and extensions to the core AADL.
· Annex Document A Code Generation, provides guidance for automatic generation and integration of runtime systems and application code in different implementation languages. It defines a standardized set of properties for recording mappings from the AADL model to source text and for automatic code generation.
· Annex Document B Data Modeling, provides guidance on data modeling and how to map relevant data modeling information into an AADL model if desirable. It defines a standardized set of properties and basic data types in support of data modeling.
· Annex Document C Error Model, defines a standardized core language extension in the form of a sublanguage notation and properties the component to support annotating AADL models with safety-criticality and dependability related information of a system.
· Annex Document D Behavior Model, defines a standardized core language extension in the form of a sublanguage notation to specify the behavior of AADL components as AADL model annotations.
(9) The core language and the annex documents are normative, except that the material in each of the items listed below is informative:
· Text under a NOTES or Examples heading.
· Each clause or subclause whose title starts with the word “Example'' or “Examples''.
(10) All implementations shall conform to the core language. In addition, an implementation may conform separately to one or more Annexes that represent extensions to the core language.
(11) The following appendices and annexes are informative and do not form a part of the formal specification of AADL:
· Appendix B Glossary
· Appendix C Syntax Summary
· Appendix G Profiles and Extensions
(1) Each section of the core standard is divided into clauses and subclauses that have a common structure. Each section, clause, and subclause first introduces its subject and then presents the remaining text in the following format. Not all headings are required in a particular clause or subclause. Headings will be centered and formatted as shown below.
(2) All paragraphs are numbered with numbering restarting with each section. Naming rules, legality rules, and consistency rules have their own paragraph numbering also restarting with each section. They can be identified by section number and paragraph number.
Syntax
(3) Syntax rules, concerned with the organization of the symbols in the AADL expressions, are given in a variant of Backus-Naur-Form (BNF) that is described in detail in Section 1.5.
Naming Rules
(4) Naming rules define rules for names that represent defining identifiers and references to previously defined identifiers. Each rule is labeled by (N#), where # is a natural number restarting with 1 for each section.
Legality Rules
(5) Legality rules define semantic restrictions on AADL specifications. Legality rules must be validated by AADL processing tools when a model is loaded into the tool. Each rule is labeled by (L#), where # is a natural number restarting with 1 for each section.
Consistency Rules
(6) Consistency rules define consistency restrictions on system instances. A consistency rule must be validated by AADL processing tools upon a user request or when an analysis method that relies on the rule is invoked. Each rule is labeled by (C#), where # is a natural number restarting with 1 for each section.
Standard Properties
(7) Standard properties define the properties that are defined within this standard for various categories of components. The listed properties are fully described in Appendix A .
Semantics
(8) Semantics describes the static and dynamic meanings of different AADL constructs with respect to the system they model. The semantics are concerned with the effects of the execution of the constructs, not how they would be specifically executed in a computational tool.
Runtime Support
(9) AADL concepts may require runtime support through an operating system or other runtime system on a processor. Such service calls may be programmed explicitly in the application source code, or may be part of a runtime system generated from an AADL specification. The Code Generation Annex provides guidance on the use of these runtime services by application code or the runtime system.
Processing Requirements and Permissions
(10) AADL specifications may be processed manually or by tools for analysis and generation. This section documents additional requirements and permissions for determining compliance. Providers of processing method implementations must document a list of those capabilities they support and those they do not support.
NOTES:
Notes emphasize consequences of the rules described in the (sub)clause or elsewhere. This material is informative.
Examples
(11) Examples illustrate the possible forms of the constructs described. This material is informative.