11.4
The common characteristic of all architectural styles geared towards software fault tolerance is redundancy.
11.7
N-version programming would not be a wise decision because if there were a failure it could result in the lose of life.
11.9
Exceptions should be explicitly handled in a system that is intended to have a high level availability because the software needs to be able to continue running. The software can allow for human error and get the correct information instead of shutting down.
12.5
The software should alert the conductor if connection to track status is disrupted.
The software should apply the brakes if the train is going above the speed limit.
The software will stop the train if the next segment of track is in a red light condition.
The software will monitor and compare current speed to the speed limit of upcoming segments of the track.
The software will allow the train to move when the track turns into a green condition.