[SDL Forum Society - Logo] Tutorial on SDL-88
Belina, Hogrefe (edits Reed)

2.2 Block structure

Back Home Up

A block is a part of the system- that can be treated in various respects (development, description, understanding etc.) as a self-contained object. In SDL/GR a block is described by a block diagram. An example of a block diagram is shown in figure 7.

A block diagram usually contains the following elements:

block name (in figure 7 Blockgame);
signal definitions (for the signals local to the block, i.e. not visible outside the block; in figure 7 Gameover, Gameoverack);
signal route definitions (for the signal routes connecting the processes of the block to one another and to the environment of the block; in figure 7 R1, R2, etc.);
channel-to-route connections (the specification of the connections between the channels external to the block and the signal routes internal to the block; in figure 7, Daemonserver to R4, etc.):
process definitions (for the process types that describe the behaviour of the block; in figure 7 Monitor, Game).

Similar to the system diagram, the block diagram may contain other elements, such as signal list definitions, macro definitions ;and data type definitions.

A signal route is similar to a channel, but the arrowheads are always at the ends of the signal route symbol, because a signal route never delays signals. The connection of a signal route to a channel is defined by placing the channel name outside the block frame and close enough to the endpoint of the signal route symbol.

Note: In SDL-2000 there is no distinction between signal routes and channels: the communication path to or from a process can be delaying or non-delaying and is called a channel rather than a signal route.

In figure 7 the SDL referencing mechanism is used for the process types Monitor and Game. The octagon containing the name of a process is only a reference to the process, indicating that the actual definition of the process can be found somewhere else (in this case in "Process diagram examples").

wpeC.gif (6467 bytes)

Figure 7: A block diagram

A process definition defines a set of process instances of a specific type. During interpretation of the system definition, several process instances of the type may exist. The number of instances of a process type is specified by the two numbers following the process name (see, for example, Monitor(l ,l) in figure 7). A process of a given type is either created at the beginning of the system interpretation or during the system interpretation dynamically by an already existing process called the parent. The first number following the process name indicates the number of processes existing at the beginning of the interpretation, and the second number indicates the maximum number of processes that may exist. If the second number is omitted, any number of processes may exist (see, for example, Game(0, )). If the number of instances is omitted, there is one initial instance and an unlimited maximum number of instances.

Note: In SDL-92 and SDL-2000 the type of a process can be specified in a separately named PROCESS TYPE definition (similar to a UML class definition) and then used in more than one process definition based on the type definition. Although SDL-88 has the concept of the type of a process, the type cannot be defined separately from the process definition and therefore cannot be re-used.

Back Home Up

Contact the webmaster with questions or comments about this web site.
Copyright 1997-May, 2013 SDL Forum Society