|The SDL and MSC (SAM) workshop provides an open discussion arena in
the year between SDL Forums, which are held every two years. Part of the
3rd SAM Workshop is an SDL-2000 design contest.
The task is to specify a railway crossing with the following
There are a number of tracks for the trains. The specification
should be generic in the number of tracks.
There is a controller, taking into account the number of cars
waiting and the trains approaching.
There is a gate for cars, which must be controlled. The pattern
of cars approaching is simply given by a constant delay between the cars.
Each track has two sensors: one sensor when a train
is approaching and one sensor when the train is leaving the
There is a sensor that indicates when there is more than one car
There is a signal on each track informing the trains if they
are allowed to pass or if they have to stop.
The controller can act either by closing the gate or by stopping
a train (setting a closing signal). Each of these actions has to
be finished before the train reaches the gate.
Trains: The solution should be generic in the number of trains.
A train will start the breaking phase as soon it sees a stopping signal
and restart when the stopping signal goes off. All trains
on the same track are supposed to run in the same direction and
with a minimal delay between them depending on their speed (a train
must be able to stop even if the preceding one stops immediately). There
are regular trains, which have a small (maximal) speed and fast
trains, which can run faster. Regular and fast trains
never run on the same track.
The active elements of the system are the trains, the sensors,
the controller and the gate. The cars are not considered
to be in the system.
The solution should allow several strategies of the gate controller
to be checked.
At least the following strategies should be possible: trains take
precedence - at least those with high speed; cars take precedence
if there are too many waiting cars. Furthermore, each spec should
also provide a strategy.
There will be a (small) change in the requirements published in the first
week of April 2002. Participants are expected to show how they were able
to adjust their specification to this change.
The winner of the contest will be the specification(s) that best
demonstrate(s) the use of SDL and/or MSC.
Changes to the requirements:
It is not allowed to set the stopping signal for a track
when a train is between the two sensors.
It should be possible to manually control the crossing. In this case, unsafe
actions should be rejected.
A sensor does not produce one signal, but a sequence of signals
(one for each of the wheels). The end of the sequence is given by a delay
of a certain size after the last signal.