クリティカル・システムに使う市販ソフトウェアの検証方法(1) ―― ソフトウェア品質論の推移とシステムの安全性確保の考え方

酒井 由夫

tag: 組み込み

技術解説 2013年2月 8日

ソフトウェアに対する安全対策の要求は,航空宇宙産業や軍事産業に始まり,医療機器,自動車など,今や多くの電子機器へと広がっている.これらのクリティカル・システムの開発においては,製品が要求される安全レベルを満たしていることを証明するため,システムの検証結果の提出や,適合証明が求められるようになってきている.そのような中で,システムに組み込むOSやプロトコル・スタック,ファイル・システムなどに市販ソフトウェアやオープン・ソース・ソフトウェアが含まれる場合,これらに危険がないことをどのように確認すればよいのだろうか? 本連載では,市販ソフトウェアの使用に際して求められるリスク分析や検証作業,市販ソフトウェアの検証記録の作り方について解説する.第1回となる今回は,最近のクリティカル・システムを取り巻く状況を紹介する.(編集部)

技術解説・連載「クリティカル・システムに使う市販ソフトウェアの検証方法」 記事一覧
第1回 ソフトウェア品質論の推移とシステムの安全性確保の考え方
第2回 誰が,何をもって市販ソフトウェアが信頼できることを証明するのか
第3回 検証記録に含めるべき事項を考える
第4回 市販ソフトウェア・ベンダが提供する検証記録の内容

 

1.クリティカル・システムを取り巻く環境の変化

 航空宇宙産業や軍事産業では1960年代から,使用するソフトウェアが起こす問題をどのように押さえ込むか,また,事故に至らないようにするにはどうしたらよいのか,について研究されてきました.医療機器業界では1980年代から,ソフトウェアによる放射線治療器の事故をきっかけに,米国FDA(食品医薬品局)が安全なソフトウェアを構築するためには何をすればよいかの研究を始め,1990年代に医療機器製造業者に対して「General Principles of Software Validation(ソフトウェア・バリデーションの一般原則)」というガイダンスを作りました(1).自動車業界では2011年に,ISO 26262:2011「Road vehicles -- Functional safety --(自動車 -- 機能安全 --)」が発行されました.自動車産業は巨大な市場であるため,ISO 26262に関連するトレーニング,コンサルテーション,第三者認証などのさまざまなサービス産業が,自動車メーカ,および自動車メーカにECU(電子制御ユニット)を納入するサプライヤに売り込みをかけています.

 この流れは,ソフトウェアに対する安全対策の要求が,ソフトウェアを搭載する対象機器に問題が発生したときの人的被害/経済的損失が極めて高い産業から,一般の人々が使用する機器へと広がりつつあることを意味しています.

 

●安全は絶対的な概念ではない

 機器に搭載されるソフトウェアが増加し,使いやすさ(ユーザビリティ)が増したのと同時に,機器の機能が爆発的に増え,開発者が想定していなかったような使い方をユーザが行ってしまうケースも増加しています.そして,ユーザの行為が危害に結びついてしまうこともあります.

 図1はユーザの機器に対する行為を分類したものです.ユーザが意図しない行為は誤使用(Use Error)となり,うっかりミス(Slip),過失(Lapse),誤り(Mistake)の三つに分類されます.うっかりミス(Slip)は不注意によるもので,過失(Lapse)は記憶違いによるもの,誤り(Mistake)は規則に基づく間違い,知識に基づく間違い,無知に基づく間違いのいずれかです.

 

図1 機器の使用者(ユーザ)の行為を分類する

 

 

 ユーザが意図した行為は,正しい使用(Correct Use)と異常使用(Abnormal Use)の二つに分類されます.すべてのユーザが開発者の想定した正しい使用を行ってくれればよいのですが,意図的に異常使用を行うケースもあります.プロフェッショナル・ユースの機器の場合,教育訓練を十分に受けていない使用者が,正しいと信じて誤った使用を行ってしまうこともあるでしょう.そのような状況を防ぐために機器の使用にライセンスを与える場合もあります.自動車の運転免許がその一つです.

 なお,正しい使用と異常使用の概念は絶対的なものではありません.正しい使用における問題はメーカの責任となりますが,異常使用における問題は基本的にはユーザ責任です注1.そして,正しい使用と異常使用の間にはグレー・ゾーンが存在します(図2).この「あり得る使用」は機器のメーカから見れば誤使用であり,ユーザから見れば通常使用です.このように,メーカから見たときの誤使用とユーザから見たときの通常使用にはオーバラップしている部分があります.この範囲は両者の認識のギャップであり,機器メーカはこのギャップをできるだけ埋めなければなりません.

注1:コンピュータ・ウイルスなどのセキュリティに関連する問題は,ユーザ以外が介入する悪意のある異常使用と考えられる.

 

図2 時代とともに変わる正しい使用と異常使用の概念
早稲田大学 理工学術院 経営システム工学科 人間生活工学研究室 小松原 明哲教授の講演資料より.

 

 安全の水準は時とともに変化しています.機器メーカが安全対策を機器に施し,それが普及すると,安全対策のない機器は危険な機器と判断されるようになります.安全は絶対的な概念ではなく,時代とともに変化する相対的な概念なのです.そして,社会の成熟度が高まるにつれ,安全に対する要求や,機器メーカが越えなければならないハードルは徐々に高くなっていきます.

 

1  2  »
組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日