ソフトウェア・セーフティとその規格化の現状 : ソフトウェア工学的観点から
スポンサーリンク
概要
- 論文の詳細を見る
航空・鉄道・自動車・原子力・軍事分野などでの機械およびプロセスの制御には、実績のある従来の電気機械系に取って代わって(ディジタル・)コンピュータが使用されてきている。これれらの分野での制御・安全系の故障は即事故に結び付き、生命を危うくする。航空機や鉄道での最近の事故ではコンピュータの故障、特にソフトウェアの誤りが原因ではないかと指摘されている。それ故に、コンピュータ/ソフトウェアを安心(信頼)して市民生活および公共の福祉の向上に利用するには、高いディペンダビリティ(信頼性、アベイラビリティ、保守性、セーフティ、セキュリティを包括した概念)が確保されていなければならない。また同時に、ソフトウェア開発技術、特に形式的方法(Formal method)の限界についても正しく認識・理解しておかなければならない。基本的には、安全を保つのは人間(の責任)であって、機械(の責任)ではない。技術も非常に重要ではあるが、最も重要なことは、技術を過信せずに、他の品質以上にセーフティ(Safety, 安全性)に関して組織が強い関心を持ち、実施責任(Responsibility)と結果責任(Accountability)を負うことである。また、多くの事故において、人間や組織の誤りが重要な因子であることは、よく認識されている事実であり、安全教育の実施とともに、安全文化(Safety culture)の醸成でもある。 ソフトウェア単独では誰にも被害を与えず、本来的(inherent)には危険物ではない。即ち、ソフトウェアそれ自身では、ダイナマイトのように爆発もしないし、電気のように利用者を感電死させることもない。しかし、安全機能がソフトウェアに存在する場合には、ソフトウェアはシステム安全性の性質を継承することになる。それ故に、ソフトウェア・セーフティ(以後ソフトウェア安全性と言う)といえども、システム問題として扱う必要がある。ソフトウェア安全性を検討する際には、常にシステム安全性を考慮に入れて検討すべきである。逆もまた同様である。これらの安全機能には、制御、安全防護、監視、クリティカル情報の表示などが含まれる。 従来の安全工学では、主として、電気機械系での偶然的な故障(Random failure)にいかに対処して安全を保つかを主題としていた。ソフトウェアの場合は偶然的な故障ではなく、系統的な故障(Systematic failure)(即ち、設計誤り)であり、従来の安全工学では十分には対処できない。それ故に、ソフトウェアを対象とする安全工学を新たに構築する必要がある。 主として安全性が問題となる、安全第一の分野へ適用されるソフトウェアは特にセーフティ・クリティカル・ソフトウェア(Safety-critical software)とか、安全関連ソフトウェア(Safety-related software)とよばれ、ソフトウェア工学での主要な一分野を形成しつつある。 システムのリスクを軽減して安全性を高めるには、先ずハザードを識別し、そして、(1)ハザードの除去、(2)ハザードの軽減、(3)ハザードの統制、および、(4)損害の最小化、の優先順位で実施することが肝要である。即ち、「非本質安全」(Extrinsic safety)ではなく、「絶対に安全」に最も近い「本質安全」(Intrinsic safety)を目指すべきである。 本稿では、紙面の制約上、参考文献として単行本のみしか示していないが、この他にも参照・引用すべき重要な文献・規格がたくさんあるので、英オクスフォード大学のJonathan P. Bowen教授(E-mail: J.P.Bowen@reading.ac.uk)が構築した "The World Wide Web Virtual Library: Safety-Critical Systems" (URL: http://www.comlab.ox.ac.uk/archive/safety.html)をアクセスされたし。
- 1997-08-13
著者
関連論文
- 大特集「記憶階層」を編集するにあたって
- 大特集「高信頼化技術」の編集にあたって
- ソフトウェア・インテグリティ・レベルの枠組み
- ソフトウェア・セーフティとその規格化の現状 : ソフトウェア工学的観点から
- コンピュータ・ネットワークにおける高信頼化技術 (高信頼化技術)