Home About Us Join us What's New

SDL Logo
SDL-2000 Design Contest

Specification of a Railway Crossing

Vale of Rheidol Railway

Organised by: SDL Forum Society
and
University of Wales Aberystwyth

The SDL and MSC (SAM) workshop provides an open discussion arena in the year between SDL Forums, which are held every two years. For the SDL-2000 design contest as part of the 3rd SAM Workshop the contest task was to specify a railway crossing

There were five entries to the contest all of which were judged to as good for publication on the SDL Forum WWW site as described in the contest rules below. These can be found at the following locations:

http://www.sdl-forum.org/SAM_contest/Aguilar

http://www.sdl-forum.org/SAM_contest/Brandt

http://www.sdl-forum.org/SAM_contest/Conquet

http://www.sdl-forum.org/SAM_contest/Li_Probert_Williams (WINNERS)

http://www.sdl-forum.org/SAM_contest/QueinsMetzger

Each of these has the SDL source available as a CIF file and as a viewable PDF file. The CIF format is an ASCII format that should be interchangable between tools, but the actual tool used is shown in the name of the file: Cinderella, GEODE or SDT. In the case of GEODE, CIF is also the native format for the tool so no other files are needed (but note that GEODE normally expects the file extnsion to .pr rather than .cif).

Some common tests were provided and the results of runniing these are provided as PDF files. Other documentation provided is also available in PDF format. These and other files are described in more detail with the entry. These are listed after the requirements below.

Requirements

The requirements were for the system to have the following characteristics:

1. There are a number of tracks for the trains. The specification should be generic in the number of tracks.

2. There is a controller, taking into account the number of cars waiting and the trains approaching.

3. 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.

4. Each track has two sensors: one sensor when a train is approaching and one sensor when the train is leaving the gate. There is also a sensor that indicates when there is more than one car waiting.

5. There is a signal on each track informing the trains if they are allowed to pass or if they have to stop.

6. 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.

7. 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.

8. 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.

9. The solution should allow several strategies of the gate controller to be checked.

10. 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 specification should provide a strategy.

11. There was (small) change in the requirements in the first week of April 2002. Participants are expected to show how they were able to adjust their specification to changes which are:

C1: It is not allowed to set the stopping signal for a track when a train is between the two sensors.

C2: It should be possible to manually control the crossing. In this case, unsafe actions should be rejected.

C3: 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.

The winning entry is the specification(s) that best demonstrate(s) the use of SDL and/or MSC.

Submissions to the Contest were accepted independently from work shop paper submissions. The rules are that up to six best solutions were for publication on the Web page of the SDL Forum Society prior to the workshop: the authors of each published solution to be rewarded with 125 Euros (subject to giving the Society the right to publish on the WWW site). The SAM workshop programme includes a panel session for discussion of the results of the Contest where at least one author of each paper should be present. At the event, the best solution is selected by the audience. The prize for the best solution is 500 Euros.

Submission policy:

Participants of the contest were encouraged to register at the Contest2002 email address of sdl-forum.org. They were inserted into an email list where all clarifications to the original task were communicated. Moreover, the current specification of the problem could always be found at http://www.sdl-forum.org/Events/SAM03Contest.htm where the final specification is therefore to be found.

12th May 2002 was the deadline for submissions.

Format: The formal parts were requested in the format of any graphical SDL and/or MSC tool, which is publicly available.

Content:

  • an SDL specification and/or an MSC specification;
  • explanations to the specification(s);
  • indication which tool(s) have been used to build the specification;
  • assumptions about properties not given in the informal description;
  • optionally demonstration of key properties by simulation traces or proofs.

Test cases

For each of the following testcases, an MSC trace showing the behaviour in the situation is provided. If the result is different depending on the controller, different traces are provided for different controllers.

Testcase A

TrackLayout: The opening time of the gate is greater than the time a regular speed train needs for the way between the first sensor and the gate.

Situation: There are no trains between the sensors, and the controller triggers the opening of the gate. Then, a train passes the first controller.

Expected behaviour: The opening of the gate is aborted, and the controller triggers its closing.

Testcase B

TrackLayout: The stopping signal is in front of the gate.

Situation: The stopping signal is set, while a train approaches. Its braking distance is longer than the interval between the train and the signal.

Expected behaviour: The train passes the signal.

Testcase C

Situation: There are several trains on all tracks between the sensors, and new ones are approaching from time to time. As there are too many cars waiting at the gate, it has to be opened, therefore, all stopping signals have to be set.

Expected behaviour: The controller sets the stopping signal on EACH track as soon as there are no trains between the sensors, and opens the gate after ALL stopping signals have been set.

Testcase D

TrackLayout: 1 fast track and 2 slow tracks; slow trains take at least 6 time units to reach the gate.

Situation: The following trains enter the system:
at time 0: a slow train on track slow1
at time 1: a slow train on track slow2
at time 2: a slow train on track slow1
at time 3: a slow train on track slow1
at time 4: a fast train on track fast
at time 5: a slow train on track slow1
at time 6: too many cars are waiting
at time 7: a slow train on track slow1
at time 8: a slow train on track slow1
at time 9: a slow train on track slow2
at time 10: a fast train on track fast

Testcase E

TrackLayout: 1 fast track and 2 slow tracks; slow trains take at least 6 time units to reach the gate.

Situation: The following trains enter the system:
at time 0: a slow train on track slow1
at time 1: a slow train on track slow1
at time 2: too many cars are waiting
at time 4: not many cars waiting
at time 5: a slow train on track slow2

Testcase F

TrackLayout: 1 fast track and 2 slow tracks; slow trains take at least 6 time units to reach the gate.

Situation: The following trains enter the system:
at time 0: a slow train on track slow1
at time 2: too many cars are waiting
at time 3: a slow train on track slow2
at time 4: not many cars waiting
at time 5: too many cars are waiting
at time 7: a fast train on track fast
at time 8: not many cars waiting


SDL contest models

See also the 3rd SAM Workshop

Home About Us Join us What's New

 

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

Last update: 01 May 2013 15:34 +0100