All tracks that are shown lead into and out of an interlock. In this example the direction of travel for a train is from either points A or A' to point B as shown in red. All of the 8 tracks that must be blocked are numbered and shown in other colors (please note I did not draw their colored lines to show where their signals would go but only a short portion nearest the crossing that must be protected). There must be:
- a default condition a full stop do not pass indication for all but one path thru the interlocking (who got there first usually, but not always, gets the green aspect left on).
- An event that changes the indication on one path from full stop to proceed slowly -- on one and only one path so any others that had allowed movement must be set to full stop. This event must have a specific start and end time.
- An event requirement that any train movement into the interlocked area must pass completely thru the interlocking (i.e., between the two protecting signals, no stops allowed, in the allotted time. Failure is a severe breach of the rules.
- An event result that completion of the previous step causes the signals protecting that path to revert to full stop. IOW if the train has completed the movement thru the interlocking and for whatever reason wants to back up to it's original location it must obtain a second permission for that movement and follow all of the interlocking rules when it does move.
IMO it would wholly unreasonable to try and put that into the timetable movement or the signalling code. The only thing missing )up to this point in the discussion) is by what means do either the activity and/or the timetable logic "request" of the software permission to pass.
I need to break off at this moment in time... I'll come back in about 6 hours to continue my thoughts of how to define an area like this as an interlocking, how an activity event can request permission to pass thru an interlocking, and how the two might be able to be bent a bit to apply to a work zone in and around a station / siding.