2 - Architecture
2.1 - System
The overall design is called the system and everything that is outside the system is called the environment. There is no specific graphical representation for the system but the block representation can be used if needed.
2.2 - Agents
The system can be decomposed in functional blocks. A block does not imply any physical implementation on the target, it is a structuring element. A block can be further decomposed in blocks and so on allowing to handle large systems. A block symbol is a solid rectangle with its name in it:
When the SDL-RT system is decomposed down to the simplest block, the way the block fulfils its functionality is described with processes. A lowest level block can be composed of one or several processes. To avoid having blocks with only one process it is allowed to mix together blocks and processes at the same level e.g. in the same block.
A process symbol is a rectangle with cut corners with its name in it:
A process is basically the code that will be executed. It is a finite state machine based task (Cf. "Behavior" on page 13) and has an implicit message queue to receive messages. It is possible to have several instances of the same process running independently. The number of instances present when the system starts and the maximum number of instances are declared between parenthesis after the name of the process. The full syntax in the process symbol is:
<process name>[(<number of instances at startup>, <maximum number of instances>)]
If omitted default values are 1 for the number of instances at startup and infinite for the maximum number of instances.
The overall architecture can be seen as a tree where the leaves are the processes.
When viewing a block, depending on the size of the system, it is more comfortable to only represent the current block level without the lower agents.