CodeZine(コードジン)

特集ページ一覧

【第1回】組込みソフトウェアに求められる安全対策

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/11/14 12:00

 組込み機器に搭載されるソフトウェアには、特に安全面において非常に高い品質が要求されるということは、多くの組込みソフトウェアエンジニアが認識していると思います。では、機器を安全に動作させるソフトウェア、すなわち「安全ソフトウェア」の設計を実現するにはどうすれば良いのでしょうか。 本稿では、この安全ソフトウェアの設計について4回に渡って解説していきます。

目次

安全ソフトウェアが必要な機器

 安全ソフトウェアは、例えば次のような分野の機器に必要とされています。

  • 自動車
  • 鉄道
  • 飛行機
  • エレベータ
  • ガスプラント
  • 化学プラント
  • 医療機器
  • 産業用ロボット

 ところが、これはいままでの常識であり、現在は安全ソフトウェアが必要な分野は確実に広がっています。

携帯電話が人を殺す

 みなさんは、中国甘粛省の22歳の電気溶接工が、胸ポケットに入れた携帯電話の電池の爆発によって死亡したというニュースをご存じでしょうか。この死亡事故は2007年6月19日に起こりました。中国製の安い模造品のリチウムイオン電池と高温の作業環境という条件が重なって起きたようです。携帯電話のような小さい機器であっても殺傷能力があることを知らしめた衝撃的なニュースでした。

 ソフトウェアはこの事故に関係していませんでしたが、携帯電話のような身近な機器でも内蔵されているデバイスを制御するソフトウェアに不具合があると人を傷つける可能性があることが分かります。

安全とリスクの関係

 組込み機器に求められる安全と、組込み機器が及ぼす可能性のあるリスクには対向する関係があり、リスクのある機器にはリスクが発現しないように安全設計を施す必要があります。リスクが内在しているかどうかは、簡便には危険なエネルギーを扱っているかどうかという観点から判断できます。エネルギーには以下のような種類があります。

  • 電気エネルギー
  • 位置エネルギー
  • 運動エネルギー
  • 化学エネルギー

 自動車や鉄道は運動エネルギーを、飛行機やエレベータは位置エネルギーと運動エネルギーを、ガスプラントや化学プラントは化学エネルギーを、産業用ロボットは電気エネルギーや運動エネルギーを扱っています。

 また、その機器の近くに人がいるかどうか、人に悪影響を及ぼす可能性があるかどうかという観点も、リスクが内在しているかどうか考える上で重要です。自動車・鉄道・飛行機は人の輸送手段ですから、エネルギーの制御を誤れば人命に関わる事故につながります。また、大きなエネルギーは使わなくても、医療機器は人の生命維持・治療・診断に使われるためリスクが内在しています。

 影響の大きさだけを考えれば、銀行のオンラインシステムや証券会社の取引システムなど重要な財産を扱うソフトウェアや機器もリスクを含んでいると言えますが、本稿では人命に影響を与える可能性のあるソフトウェアに絞って考えていくことにします。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 酒井 由夫(サカイ ヨシオ)

    1987年よりクリティカルデバイスのソフトウェア開発に20年間従事する。おもに16bitのワンチップマイコンを使った信号処理、リアルタイム組込みシステムの開発を行い、製品の仕様立案からソフトウェア開発のプロセス管理、プロジェクトマネージメント、安全性・信頼性の検証、保守、ソフトウェア技術者教育など組...

バックナンバー

連載:安全ソフトウェアの設計
All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5