Re: SDL-News: Routing of Signals when Implicit Addressing is used

Subject: Re: SDL-News: Routing of Signals when Implicit Addressing is used
From: Rick Reed TSE (
Date: Thu Oct 05 2000 - 09:54:23 GMT

Become an SDL Forum Society member <>
The originator of this message is responsible for its content.
-----From Rick Reed TSE <> to sdlnews ----- at wrote on 04/10/2000

> I am having a question about how the Signals using Implicit addressing are
> routed to a destination process having multiple instances?
> Is the Signal broadcasted or is it received by just one instance of the
> destination process ?

Each time an OUTPUT is interpreted it generates just one instance of each
signal mentioned in the OUTPUT (except when there are VIA paths and ALL -
see below). If there is more than one path that can convey the signal the
choice of path is arbitrary. When the signal reaches the end of the path
(Immediately - if there is no delay on the path) it is put into the input
port of one of the process instances. If there are no process instances at
the end of this path at this point in time, the signal is discarded.

NOTE: In the case of VIA with more than one path and the keyword ALL, one
signal instance is OUTPUT for each path mentioned. This is in effect a
shorthand for a separate OUTPUT on each path.

To send a signal instance to each one of the processes at the end of a path,
there sending process must interpret an OUTPUT with a TO process identity
for the each receiving process instance. Two ways to handle this are:

1. the sending process keeps track of the process identities of the
receiving process instances and has a loop to OUTPUT the signal to each

2. the sending process sends the signal to an intermediate process that only
has one instance, and this process keeps track of the process instances and
has a loop.

The advantage method 1 is that it is effectively a broadcast. Some
disadvantages are keeping track of the process identities and programming of
the loop.

The advantage of method 2 is that the sending process sends the signal only
once. The intermediate process could be local to the final receivers (it
could actually be one of the receiving processes - however, in this case
they would all need to keep track of the identities of peer processes). A
disadvantage of this method is that the SENDER value of the signal gets

The possibility of having a broadcast mechanism in SDL has been discussed
many times by the SDL standard experts group. The main difficulty is
defining exactly what it means for a distributed system where there can be
delay in transmission, particularly as currently channels have no behaviour
- they are just communication paths. With SDL-92 and SDL-2000, broadcast is
not supported.

Rick Reed -
Tel:+44 1455 55 96 55 Fax:+44 1455 55 96 58 Mob.:+44 7970 50 96 50

-----End text from Rick Reed TSE <> to sdlnews ----- For extra SDL Forum Society benefits, join at <>

This archive was generated by hypermail 2a23 : Thu May 09 2013 - 16:05:49 GMT