From Channel News Asia:
SINGAPORE: The “inadvertent” disabling of a software protection feature has been identified by the authorities as the reason for an SMRT train hitting another, stalled train at Joo Koon station on Wednesday morning (Nov 15).Twenty-nine people were injured after a train “moved forward unexpectedly” and “came into contact” with another stationary one in front of it, according to earlier statements from the Land Transport Authority (
LTA▸ ) and SMRT.
At a joint press conference held later Wednesday, LTA deputy chief executive of infrastructure and development Chua Chong Kheng said preliminary findings indicated that the first train - in front - departed Ulu Pandan with a software protection feature which was “inadvertently removed” when it passed a faulty signaling circuit.
“This train then arrived at Joo Koon station without the feature,” said Mr Chua. “This resulted in it giving off a train profile on the new signaling system of a three-car train instead of a six-car train.”
“As a result, the second train (behind) detected the first train as a three-car train and misjudged the distance between the two, causing a collision.”
Mr Chua said that as a precaution, operations from Joo Koon to Tuas Link will be suspended for the entire day on Nov 16 while assurance checks are conducted with signaling contractor Thales.
...
“SITUATION UNSATISFACTORY”
Expanding on his use of the word “inadvertent”, Mr Chua said there was no indication that the removal of the software protection feature was due to human action.
"The new trackside signaling circuit is still a work-in-progress and as the train passed by, we observed this (software protection) feature got removed,” he said, adding that a thorough investigation was being conducted to get to the root cause.
Mr Chua said that when the first train stalled at the station - due to an anomaly in the train signalling system - station staff boarded the train to run checks, and safety protocol at the station closed down the track to “physically protect” another train from coming in.
When the second train arrived, it “observed this stopping point” by halting 10.7m behind the first - a safe stopping distance, said Mr Chua.
Authorities were asked if the rear train driver - subsequently injured in the collision - could have overrode the signalling system and prevented his train from moving forward at an estimated speed of 16kmh.
Said Mr Kek: “10.7 metres away is relatively close, the movement before coming into contact with the first train took only 10 seconds.”
“The driver can override the system, and apply the manual brake, but he didn’t. It is now subject to the investigation.”
Meanwhile, Thales representative Peter Tawn said this was the first incident of such a nature.
“We are very confident our system is safe,” he reiterated. “The Thales system is on record one of the safest there is ... We’ve never had a collision.”
Said Mr Chua: “Obviously the situation is not satisfactory, we are concerned and will work closely with SMRT on this.
“There’s also a technical bit here and we must be clear about responsibilities. This incident involve technical aspects and we need to iron those out with Thales.”
“But ensuring the safety of our commuters remains our priority,” he insisted.
Thales is the French company which supplied the new signalling system.
Read more at
http://www.channelnewsasia.com/news/singapore/smrt-train-collision-at-joo-koon-cause-lta-9408766 You will have seen that in this case, as in most such accidents, there were at least two faults (in some sense) and an incomplete system operating outwith its normal condition. (Note that 10 metres at 1 m/s
2 gets you to 16.1 km/hr in 4.5 seconds.)
In principle, there's no difference between the software that implements
CBTC▸ ,
ETCS▸ , or
SSI▸ , and a mechanical interlocking. It's a set of safety rules turned into a machine (or its drawing set) in an engineering office, by a team of people who communicate and record their work on paper or its on-screen equivalent. In the mechanical case you then have to machine the bits and assemble them, and check the work at each step. While "pure" software needs no lathes, it still needs a whole load of checking.
But somehow it's always been a bit scarier that it's "only" code, produced by some metaphorically spotty lad in an office, that keeps you safe.