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