安全ソフトウェアが必要な機器
安全ソフトウェアは、例えば次のような分野の機器に必要とされています。
- 自動車
- 鉄道
- 飛行機
- エレベータ
- ガスプラント
- 化学プラント
- 医療機器
- 産業用ロボット
ところが、これはいままでの常識であり、現在は安全ソフトウェアが必要な分野は確実に広がっています。
携帯電話が人を殺す
みなさんは、中国甘粛省の22歳の電気溶接工が、胸ポケットに入れた携帯電話の電池の爆発によって死亡したというニュースをご存じでしょうか。この死亡事故は2007年6月19日に起こりました。中国製の安い模造品のリチウムイオン電池と高温の作業環境という条件が重なって起きたようです。携帯電話のような小さい機器であっても殺傷能力があることを知らしめた衝撃的なニュースでした。
ソフトウェアはこの事故に関係していませんでしたが、携帯電話のような身近な機器でも内蔵されているデバイスを制御するソフトウェアに不具合があると人を傷つける可能性があることが分かります。
安全とリスクの関係
組込み機器に求められる安全と、組込み機器が及ぼす可能性のあるリスクには対向する関係があり、リスクのある機器にはリスクが発現しないように安全設計を施す必要があります。リスクが内在しているかどうかは、簡便には危険なエネルギーを扱っているかどうかという観点から判断できます。エネルギーには以下のような種類があります。
- 電気エネルギー
- 位置エネルギー
- 運動エネルギー
- 化学エネルギー
自動車や鉄道は運動エネルギーを、飛行機やエレベータは位置エネルギーと運動エネルギーを、ガスプラントや化学プラントは化学エネルギーを、産業用ロボットは電気エネルギーや運動エネルギーを扱っています。
また、その機器の近くに人がいるかどうか、人に悪影響を及ぼす可能性があるかどうかという観点も、リスクが内在しているかどうか考える上で重要です。自動車・鉄道・飛行機は人の輸送手段ですから、エネルギーの制御を誤れば人命に関わる事故につながります。また、大きなエネルギーは使わなくても、医療機器は人の生命維持・治療・診断に使われるためリスクが内在しています。
影響の大きさだけを考えれば、銀行のオンラインシステムや証券会社の取引システムなど重要な財産を扱うソフトウェアや機器もリスクを含んでいると言えますが、本稿では人命に影響を与える可能性のあるソフトウェアに絞って考えていくことにします。