ジェットエンジンは飛行機を空へ飛ばすが、ソフトウェアがその安全を守っている ジェットエンジンは飛行機を空へ飛ばすが、ソフトウェアがその安全を守っている

ジェットエンジンは飛行機を空へ飛ばすが、ソフトウェアがその安全を守っている

ジェットエンジンは飛行機を空へ飛ばすが、ソフトウェアがその安全を守っている

同じ種類の航空機による2件の悲惨な航空事故を受けて、FAAは水曜日に緊急禁止命令を発令し、ボーイング737MAX機の運航を禁止した。

ライオン・エア610便とエチオピア航空302便の両事故で使用されていた機材は、737 MAX 8でした。調査は現在も継続中で、原因が同一であるかどうかを判断するには時期尚早ですが、ニューヨーク・タイムズ紙などが報じているように、2つの事故に類似点があると見ている人もいます。FAA自身も「類似点」があると述べています。

エチオピアでの墜落事故以前から、ボーイング社はこれらの航空機のソフトウェアアップデートに取り組んでいました。このパッチは、機体の操縦特性向上システム(MCAS)と呼ばれるシステムに影響を及ぼします。(このシステムの機能については後述します。)

ボーイング社はソフトウェアアップデートについて公式発表以上のコメントはしていないが、同社の代表者はアップデートのインストールには航空機1機あたり約60分かかることを確認した。

一般の人々は、携帯電話やパソコンのソフトウェアを無線アップデートでアップグレードすることに慣れていますが、飛行機のソフトウェアは異なるプロトコルを採用しています。MIT(マサチューセッツ工科大学)の航空宇宙工学教授であり、国際航空輸送センター所長でもあるジョン・ハンスマン氏によると、飛行機のコードアップデートは通常、整備士によって行われます。

もちろん、飛行機の飛行に関わるコードはどれもリスクが高い。「これは非常に重要なソフトウェアであり、誰にもハッキングされたくない。だから、非常に厳重に保護されたプロセスになっている」と彼は言う。

ソフトウェアとハ​​ードウェアの故障は異なる方法で起こる

飛行機のハードウェア、つまり胴体、翼、エンジン、そして操縦士が操縦するための外側の可動面などは、乗客が自然に目にするものです。しかし、これらの事故と、ボーイング社による近々予定されているソフトウェアアップデートにより、機内で実行されるコードの重要性が改めて認識されるようになりました。

「私たちはいつも、飛行機の形状が飛行機の性能を決めると考えがちです」と、パデュー大学航空宇宙学部のウィリアム・クロスリー教授は語る。「実際、ソフトウェアが飛行機の形状と同じくらい重要になってきています。」

ソフトウェアのおかげで、航空機メーカーは多くのことを達成できます。例えば、クロスリー氏は「軍用機は、コンピューターとソフトウェアのおかげで、静的に不安定であっても飛行できるのです」と指摘します。

要するに、機体を動かすコードの重要性を過小評価してはいけないということです。「現代の飛行機、特に軍用機のソフトウェアコストは、通常、総コストの50%以上を占めます」とMITのハンスマン氏は言います。「飛行機の開発において、ソフトウェアは大きな部分を占めているのです。」

航空エンジニアは安全性に関して、ハードウェアとソフトウェアを異なる視点から考慮する必要があります。「ソフトウェアの故障はハードウェアとは異なります」とハンスマン氏は言います。

例えば、ハードウェア面では、センサーシステムの安全性を確保する最良の方法は冗長性、つまり同一または類似の変数を監視する複数のセンサーを備えることです。簡単に言えば、何かを測定するのに3つのセンサーが理想的だと彼は言います。なぜなら、1つのセンサーが故障した場合、飛行機は一種の投票システムを利用できるからです。3つのセンサーのうち1つが異常な値を示した場合、互いに一致する2つが信頼できるセンサーとなります。(実際には、センサーを3つ複製するだけでなく、より複雑な方法があります。飛行機は機内の他の場所からのデータを使用することができ、このプロセスは「分析的冗長性」と呼ばれます。)

もちろん、飛行機のハードウェアでは、冗長性は他の面でも機能します。ボーイング 777 のような最も大型の民間航空機でも、2 つのエンジンで推進されており、1 つのエンジンが故障しても飛行機は着陸できます。

しかしハンスマン氏によると、ソフトウェアに関しては、現代の民間航空機には完全に重複した2つのソフトウェアシステム(2つのエンジンに相当するコーディング)は搭載されていないという。しかし、ある有名な宇宙船には搭載されていたとハンスマン氏は指摘する。「スペースシャトルには、全く独立したチームによって書かれた、全く別のソフトウェアパッケージが搭載されていました」と彼は言い、宇宙飛行士はボタンを押すだけでバックアップシステムに切り替えることができたと指摘する。しかし、このアプローチは「信じられないほど高価」だとハンスマン氏は指摘する。この戦略の問題点は、たとえ2つの独立したソフトウェアシステムであっても、同じ場所に同じ種類のミスが発生する可能性があることだ。

しかし、民間航空機ではシャトルのような独立した2つのシステムを採用していません。その代わりに、重要なソフトウェアはDO-178Cと呼ばれる文書に基づいて厳格に審査・認証されています。

「それは非常に困難なプロセスです」とハンスマン氏は言う。

ボーイングのパッチ

ボーイング社のアップデートにより、MCASの動作に影響が出ます。MCASは、航空機メーカーが失速を防ぐために導入したサブシステムです。失速は、翼の迎え角が大きくなりすぎ、機首が上を向いている場合に発生する可能性があります。このシステムが故障し、機体が失速していると判断された場合、パイロットが意図しなくても機首が下がり、翼の迎え角が下がる可能性があります。ライオンエアの墜落事故に関連するMCASのシステムについては、こちらの分かりやすいインフォグラフィックをご覧ください。

ハンスマン氏によると、このコードはしばらく前から完成しており、MCASが「主にアクティブ迎角センサーに依存している」という事実に関連する脆弱性に対処するために設計されているとのことだ。「報道から私が理解しているのは、他のデータソースも統合しているということです」