C.1 Constraints on Component Containment
(1) The AADL has the following restrictions on the constructs that are permitted in the component type and component implementation of each component category.
Category |
Type |
Implementation |
abstract |
Features: · port · feature group · provides data access · provides subprogram access · provides subprogram group access · provides bus access · requires data access · requires subprogram access · requires subprogram group access · requires bus access · feature Flow specifications: yes Modes: yes Properties: yes |
Subcomponents: · data · subprogram · subprogram group · thread · thread group · process · processor · virtual processor · memory · bus · virtual bus · device · system · abstract Subprogram calls: yes Connections: yes Flows: yes Modes: yes Properties: yes |
data |
Features: · provides subprogram access · requires subprogram access · requires subprogram group access · feature group · feature Flow specifications: no Modes: no Properties: yes |
Subcomponents: · data · subprogram · abstract Subprogram calls: no Connections: yes (access) Flows: no Modes: no Properties: yes |
subprogram |
Features: · out event port · out event data port · feature group · requires data access · requires subprogram access · requires subprogram group access · parameter · feature Flow specifications: yes Modes: yes Properties: yes |
Subcomponents: · data · abstract · subprogram Subprogram calls: yes Connections: yes Flows: yes Modes: yes Properties: yes |
subprogram group |
Features: · provides subprogram access · requires subprogram access · requires subprogram group access · provides subprogram group access · feature group · feature Flow specifications: no Modes: no Properties: yes |
Subcomponents: · subprogram · subprogram group · data · abstract Subprogram calls: no Connections: yes Flows: no Modes: no Properties: yes |
thread |
Features: · port · feature group · requires data access · provides subprogram access · requires subprogram access · provides subprogram group access · requires subprogram group access · feature Flow specifications: yes Mode: yes Properties: yes |
Subcomponents: · data · subprogram · subprogram group · abstract Subprogram calls: yes Connections: yes Flows: yes Modes: yes Properties: yes |
thread group |
Features: · port · feature group · provides data access · requires data access · provides subprogram access · requires subprogram access · provides subprogram group access · requires subprogram group access · feature Flow specifications: yes Modes: yes Properties: yes |
Subcomponents: · data · subprogram · subprogram group · thread · thread group · abstract Subprogram calls: no Connections: yes Flows: yes Modes: yes Properties: yes |
process |
Features: · port · feature group · provides data access · requires data access · provides subprogram access · requires subprogram access · provides subprogram group access · requires subprogram group access · feature Flow specifications: yes Modes: yes Properties: yes |
Subcomponents: · data · subprogram · subprogram group · thread · thread group · abstract Subprogram calls: no Connections: yes Flows: yes Modes: yes Properties: yes |
processor |
Features: · provides subprogram access · provides subprogram group access · port · feature group · requires bus access · provides bus access · feature Flow specifications: yes Modes: yes Properties: yes |
Subcomponents: · memory · bus · virtual processor · virtual bus · abstract Subprogram calls: no Connections: yes Flows: yes Modes: yes Properties: yes |
virtual processor |
Features: · provides subprogram access · provides subprogram group access · port · feature group · feature Flow specifications: yes Modes: yes Properties: yes |
Subcomponents: · virtual processor · virtual bus · abstract Subprogram calls: no Connections: yes Flows: yes Modes: yes Properties: yes |
memory |
Features · requires bus access · provides bus access · feature group · feature Flow specifications: no Modes: yes Properties: yes |
Subcomponents: · memory · bus · abstract Subprogram calls: no Connections: yes Flows: no Modes: yes Properties: yes |
bus |
Features · requires bus access · feature group · feature Flow specifications: no Modes: yes Properties: yes |
Subcomponents: · virtual bus · abstract Subprogram calls: no Connections: no Flows: no Modes: yes Properties: yes |
virtual bus |
Features · none Flow specifications: no Modes: yes Properties: yes |
Subcomponents: · virtual bus · abstract Subprogram calls: no Connections: no Flows: no Modes: yes Properties: yes |
device |
Features · port · feature group · provides subprogram access · provides subprogram group access · requires bus access · provides bus access · feature Flow specifications: yes Modes: yes Properties: yes |
Subcomponents: · bus · virtual bus · data · abstract Subprogram calls: no Connections: yes Flows: yes Modes: yes Properties: yes |
system |
Features: · port · feature group · provides subprogram access · requires subprogram access · provides subprogram group access · requires subprogram group access · provides bus access · requires bus access · provides data access · requires data access · feature Flow specifications: yes Modes: yes Properties: yes |
Subcomponents: · data · subprogram · subprogram group · process · processor · virtual processor · memory · bus · virtual bus · device · system · abstract Subprogram calls: no Connections: yes Flows: yes Modes: yes Properties: yes |