我々が日常で目にするクルマや電車、航空機、ロボット、家電製品といった工学システムが内部にコンピューターを持ち、ソフトウエアで制御される「組み込みシステム」になって久しい。これらのシステムはソフトウエアという便利な道具でますます高度化している。しかし一方で、ソフトウエアの不具合によって人間に危害を与えたり、大きな経済的損失を与える危険性も高まっている。

 工学システムの安全設計で伝統的に用いられてきたFTA(故障木解析)やFMEA(故障モード影響解析)などのシステム安全解析法は40~60年も前に開発された方法だ。このため、現代の複雑なシステムの安全分析には必ずしも適していない。米Massachusetts Institute of Technology(MIT)教授のNancy Leveson氏は、こうした状況を図1に示すような形で的確に指摘している[1,2]

図1 安全分析ツールの現状と課題
[画像のクリックで拡大表示]
図1 安全分析ツールの現状と課題

 この図にあるように、1980年以降、コンピューター制御の導入とインターネットの普及により、「System of Systems」と呼ばれるようなシステムの複合化が進んでいる。さらに、人間と機械の密接な協調制御も常態化し、私たちの日常生活に入り込んでいる。今後、IoT(Internet of Things:モノのインターネット)やAI(人工知能)により、人と社会の構造に似た究極の複雑工学システムが出てくるかもしれない。

 米国での大規模な工学システムの事故分析に詳しいLeveson氏は、「旧来の安全分析は『コンポーネント故障が事故を引き起こす』という仮定に立ったものであり、『コンポーネント間でのコミュニケーションのミスマッチが事故を引き起こす』という近年の複雑工学システムでの事故防止への対処法としては適切ではない」と指摘している。こうした複雑工学システムの安全を確保するには、既存の「ISO Guide 51」に基づいた機械・電気の安全規格である「ISO12100」や「ISO13489-1」、「IEC60204-1[3]」、さらにはソフトウエアの安全規格も含んだ「IEC61508」や「ISO26262[3]」などでは十分でないという現実に直面している。近年のニュースを賑わす大規模な事故の中には、後知恵かもしれないが、安全設計にもう少し配慮をしていれば防げたかもしれない「人災」ともいえる事例が多くある。

 こうした背景を考えたとき、「今後、高度なソフトウエアで制御される複雑工学システムの安全を担保する設計技術は可能なのか」という疑問が湧く。Leveson氏は「複雑工学システムの安全やセキュリティーは、個々のコンポーネントの安全・セキュリティー特性の総和ではなく、それ以上の創発特性(Emergence)を持ったものである」としている。非線形で大規模な相互作用を持つ創発特性を単純な論理で制御するのは、原理的に困難ともいえる。しかしLeveson氏は、これを制御してより安全なシステムを提供する手段の1つとして、「STAMP/STPA(System Theoretic Accident Model and Processes/System Theoretic Process Analysis)」という方法論を提案している。

 さらには、2000年以降、「人と機械が組み込まれた社会技術システムの安全分析」という考え方に基いて、複雑かつ非線形の相互作用に基づく事故モデルという新しい考え方が模索されてもいる[4-6]。これらをまとめて「IoT時代の安全性検証技術」と仮称し、本稿で紹介する。