せつなく朽ちた鉄扉

雑草地帯・日記部門。硬軟色々取り混ぜて、よろず話題の書き捨て場。
なおAdsenseはgooが勝手に出してるだけ。

命を預けるソフトウェアなのだから。

2006-06-10 23:44:29 | 宇宙、航空系
 一応ファームウェア開発を仕事にしている身から見て、どうかと思ったニュース。

 ■[WSJ] あわや墜落のケースも――航空機にもあるソフトのバグ

 おいおい……洒落になってないだろ。


 航空機の自動化は、極力、人の制御を介さない方向で設計を進化させている。これは事故の原因の大半が人為的ミスであったことと、エアライン用の巨大な機体を過密ダイヤの元で運行するには、既に人の判断力、集中力では信頼性に足らないという現状がそうさせている。自動化自体は事故を減らすための世界的なトレンドだ。

 しかしだ。
 だからこそ、自動制御がミスっててどうする。


 HoneywellとBoeingは、この新しいプログラムに欠陥があったとは知らなかった。このプログラムは自動操縦システムに、「速度が遅すぎて危険だ」「速度が速すぎる」という情報を同時に伝えた。調査官は今も、どのような状況がきっかけになってこのプログラムが矛盾するデータを伝えたのかを特定しようとしている。フライトコンピュータは応答に窮し、飛行速度は270ノットから150ノットに急減した。操縦ハンドルは振動して失速しそうだと警告した。


 調査の観点が違うような気がする。
 確かに、同時に相反する情報が生成された事も問題だが、相反する情報を同時に入力し、強引に処理してしまうコアシステムの仕様の方が、より重要な問題だったのではないだろうか。

 ちなみに、こういう事態を防ぐ根本的解決法は、サブシステムを載せ、さらにパイロットにアラートを挙げて判断を仰ぐしかない。記事を読み進むと出てくるが、この認識は各社ちゃんと持っているようなので、ちょっと安心した。


 元Boeingのソフト技術者フランク・マコーミック氏は、このような欠陥がテストをくぐり抜けてしまったことに驚きはないと言う。「あらゆる事態を予測できると考えるのは思い違いだ」


 確かにそうなんだが、それでも全てのバグは潰さなければならない。それが組み込み屋の宿命だ。
 あらゆる事態を全て想定する事は無理だし、想定自体にも意味は無い。しかし「想定しない事態」というモノに対する処理は、人命がかかるシステムなら常に入れておくべきだろう。この事件の前に、何故それが出来なかったのだろうか。


 恐らく……これは推測でしかないが……飛行機のソフトウェア開発も、コストダウンのためにアウトソーシングされているのではないだろうか。飛行機の制御経験の薄い会社に設計を任せてしまったのではないだろうか。

 これは経験上の話だが、組み込みソフトの設計は、その制御対象たる装置を知らないと、まずちゃんとしたモノにはならない。設計仕様なんてシロモノには大抵「抜け」があり、「最低限、どういう動作をさせてはいけないのか」を分かっていないと、特定の条件でとんでもない動作をすることがある。最悪、機器を壊す事だってある。


 この事件は、航空機ですらバグからは逃げられない、という話で終わらせるべきでは無いと思う。航空機の自動化ソフトの開発、設計の現場に何らかの問題があった、という話が隠れているのではないだろうか。


#某シンドラーのエレベータとかも、こういう根っこは無いのか?


最新の画像もっと見る

コメントを投稿