オルタナティブ・ブログ > Software Development >

ソフトウェア製品開発現場の視点

フェイルセーフ

»

フェイルセーフ (Fail-Safe) を辞書で調べると「二重安全装置」というような訳が書かれているが、私は「もし装置が故障しても安全なほうに故障する仕組み」と理解している。例えば、信号機が故障したとしても、決して全部「青」が表示されることはないように設計されている(と理解している)。現在、開発している製品には、他のソフトに付加して動く「アドイン (add-in)」の機能があるので、我々が開発した部分に問題があったとしても、決してもとのソフトの動作には影響を与えないことを設計の基本方針とした。

工学的にフェイルセーフは重要な考え方であるが、これを考慮していないために非常に気になっているシステムの一つに高速道路の料金所の ETC ゲートのバーがある。ETC ゲートのバーは通常は非常に短い時間で開閉し、その反応のスピードにはいつも驚いているが、もし何らかの事情でバーが開かなかった場合は、開くと思って走っていた車はバーにぶつかり、車が破損する。もし、仮にバーの手前で止まれたとしても、後続の車は止まった車に追突する可能性があることは、明らかであるし、実際にそのような事故が起きている。

どうして、そのような危険な設計をしているのか全く理解できない。仮に料金所の仕組みが完全でも、ETC 車載機に問題がある場合もあるし、車載機の情報を伝える電波もどのような妨害をうけるかわからない。車や人に危害を加える可能性がわかっていながらも、料金を正しく払わない(または、故障などのため料金を正しく払えない)車をバーで止めなければいけない理由はなんだろうか?

Comment(24)