What is Specification and Description Language(SDL)?
7-9 minutes
Specification and Description Language (SDL) is a modeling language used to describe real-time systems. SDL diagram illustrates the process of specification and description language modeling. It could be widely used in systems of automotive, aviation, communication, medical, and telecommunication fields.
There are three parts to an SDL diagram: the system definition, block and process. The system definition defines the major nodes (blocks) of the system such as clients and servers, while the block charts show more details. The process diagram shows the processing steps in each block. See state machine and UML.
Organization of SDL
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.
Agent – An agent is an element in the system structure. There are two kinds of agents: blocks and processes. A system is the outermost block.
Element Description
Block
- A block is a structuring element that does not imply any physical implementation on the target.
- 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
Process
- A process is basically the code that will be executed. It is a finite state machine based task 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 parentheses 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.
Architecture – the overall architecture can be seen as a tree where the leaves are the processes.
Behavior
First of all a process has an implicit message queue to receive the messages listed in the channels. A process description is based on an extended finite state machine. A process state determines which behavior the process will have when receiving a specific stimulation. A transition is the code between two states. The process can be hanging on its message queue or a semaphore or running e.g. executing code. A message stimulus coming from the environment or from another agent to an agent is called a signal. Signals received by a process agent are first placed in a queue (the input port). When the state machine is waiting in a state, if the first signal in the input port is enabled for that state it starts a transition leading to another state.