|This panel is intended for interacting with the RailwayCrossing Environment
and the Gate Controller.
Therefore, the panel allows
the initialization of a specific number of regular and fast tracks with
the respective params (at system start)
the manual setting of the signals and the gate
the display of statistics about the tracks and trains (e.g. average waiting
duration of the trains, ...)
a graphical view of the environment (the tracks, trains, cars, signals
and the gate)
further, the sending of arbitrary signals
||Initialize a specific number of regular and fast tracks (at system
||After pressing the buttonInit, for each track type send the
signal setTrackParams(trackType, ts1Dur, ts1Sig1Dur, sig1Ts2Dur, breakDur,
minDistDur) for setting the concrete values for the respective type
(taken from textFieldRTP1, ...; and
Then, Send signal initTracks(nbrRegTracks, nbrFastTracks),
(taken from textFieldRT and textFieldFT).
After these initialization data have been transmitted, open a separate
window (Visualization) that shows the railway crossing in a graphical
||Set the gate to a specific state.
||If buttonCloseGate is pushed, send signal setGate(close);
If buttonOpenGate is pushed, send signal setGate(open).
||Set one (or all) signal(s) to a specific state.
||If buttonGreenSignal is pushed, send the signal setSignal(track,
green), where track is taken from textFieldTrack; If buttonRedSignal
is pushed, send signal setSignal(track, red). The textFieldTrack
should contain the instanceName of the respective track, or the keyword
if all tracks are to be controlled.
||Display the statistics for the railway crossing (the number of trains,
the average waiting duration per track, etc.).
||Upon reception of the newTrackStatistics(trackName, ...) signal,
display the data for the respective track in the tableStats depending
on the trackName parameter.
||Visualize all elements of the railway crossing in a dynamic manner
(i.e. show the trains moving, the gate opening and closing, ...).
||In a separate window, update the graphical information upon the reception
of on of the following signals:
- newGate(position); position = opened/closed
- newSignal(trackName, status); status = red/greed
- newTrainPos(trackName, position)
||Send an arbitrary signal.
||Upon pressing the buttonSend, send the signal and parameters
to the system as entered in textFieldG1.