踏切

近年の組込みシステムの複雑化に伴い、機能安全の重要性はますます高まっています。その一方で、機能安全規格に準拠した組込みシステムのアプリケーション設計は、多くの時間とコストがかかるという現実もあります。

弊社イー・フォースでは機能安全対応認証の取得を進めています。本記事では、組込みエンジニアの方向けに機能安全の考え方について、システムの信頼性と安全性などに触れながら紹介します。

本質安全と機能安全

本質安全と機能安全の違い

「本質安全」や「機能安全」という言葉を聞いたことはありますか。聞いたことがある方は、それらふたつの違いを説明できるでしょうか。

それぞれの定義を以下で確認してみましょう。

本質安全と機能安全

本質安全:機械や構造の変更などによって人間や環境に危害を及ぼす原因そのものを低減、あるいは除去することる
機能安全:機能的な工夫を組み込み、許容できるレベルの安全を確保すること

引用元:エイブリック株式会社「機能安全とは?」

本質安全と機能安全の具体例

踏切を例に挙げると、列車と車両・人とが衝突などの事故を起こさないために高架を作ったり、立体交差にする(=衝突するリスクそのものをなくす)のが「本質安全」です。一方、踏切に警報機や遮断機を設置して事故の可能性を減らす(=衝突するリスクを、許容できるレベルにする)のが「機能安全」です。

出典:エイブリック株式会社「機能安全とは?」

上記の違いから、「リスク自体を排除する本質安全がよさそう」と思われた方もいるかもしれません。しかし、実際には「すべての踏切をなくして立体交差点にする」「電車そのものをなくす」といった極端な対策をすぐに取れる訳ではありません。そのため、そのシステム(今回は電車)の利用によるリスクが想定される場合、そのリスクを回避するための仕組みやルールを作るというのが「機能安全」の考え方です。

例えば、自動車や洗濯機のチャイルドロック、家電を切り忘れた際のオートオフ機能なども機能安全の一部であり、このように我々の日常生活に根付いていると言えるでしょう。

出典:ミズカラ株式会社 コストダウンナビ「『本質安全』と『機能安全』のお話」

システムの信頼性と安全性

日常で私たちが使用する製品やサービスの多くは、システムによって制御されています。それらのシステムが誤作動を起こして、人や環境に危害を加えることはあってはなりません。

そのため、製品やサービスの開発者は、システムの信頼性や安全性について理解しておく必要があります。

システムの信頼性

何かの製品を購入する際、「信頼性」を基準に選ぶ人も多いでしょう。それでは、「信頼性のあるシステム」とは、どういうものでしょうか。

独立行政法人 情報処理推進機構 ソフトウェア・エンジニアリング・センターの出版物「組込みシステムの安全性向上の勧め」には、以下のように記されています。

通常、一つ一つのシステムは、それぞれが提供する機能や役割を持っています。システムのユーザが、そのシステムが提供する、こうした機能や役割を利用するときに、ユーザの期待どおりにシステムが動作すれば、そのシステムを「信じて頼る」ことができたこととなり、結果として、そのシステムの信頼性は、問題がないことになります。逆に、そのシステムが、当初、ユーザの期待したとおりに動いていたとしても、しばらくして動かなければ、そのシステムの信頼性は、問題があることになります。

(中略)

システム信頼性:機能単位が要求された機能を与えられた条件のもとで、与えられた期間実行する能力

引用:独立行政法人 情報処理推進機構 ソフトウェア・エンジニアリング・センター 「組込みシステムの安全性向上の勧め」

システムに関する評価指標の一つであるRASIS(レイシス)の5項目にも「信頼性」は含まれています。システムの故障しにくさを評価する指標であり、平均故障間隔を意味するMTBF(Mean Time Between Failure)を指標として判断します。MTBF=使用時間の和÷故障回数で、この値が大きいほどよいとされます。

出典:日経BP日経クロステック Active「信頼性と可用性は何が違う?」

システムの安全性

続いて、システムの安全性についてです。

自動ブレーキの誤作動による事故、金融システム不具合による決済遅延などのニュースを耳にしますが、このようにシステムが想定通りに動かない場合、ユーザや、さらに広範囲の人々に被害を及ぼします。

こちらについても、独立行政法人 情報処理推進機構 ソフトウェア・エンジニアリング・センターの出版物「組込みシステムの安全性向上の勧め」には、以下のように記されています。

システムは通常、それが動作することによって、ユーザその他になんらかの利益や効能をもたらすべきものです。しかし、システムが、誤動作などをすることによって、ユーザに不利益や危害をもたらすこともあります。システムの安全性とは、システムが結果として、ユーザに対してこうした不利益や危害をもたらすことのない度合いをさします。

(中略)

システム安全性:システムが規定された条件のもとで、人の生命、健康、財産またはその環境を危険にさらす状態に移行しない期待度合い

引用:独立行政法人 情報処理推進機構 ソフトウェア・エンジニアリング・センター 「組込みシステムの安全性向上の勧め」

「安全」という言葉はさまざまな場面で利用されています。市場の製品の多くにはソフトウェアが組込まれ、ますます高機能化・多様化していますが、便利になればなるほど、開発者は安全の視点に立った設計配慮を求められます。

安全な設計をおこうなうためには、製品に内在するハザードを特定して、リスクを明確にする必要があります。システムが高度になればなるほど、その重要度は高まります。

そして、この時に気を付けておきたいのは、「絶対的な安全というものはない」ということです。どんなに保護方策を講じてもある程度のリスクは必ず残り、その残ったリスクが利用者にとって許容可能なレベルまで低減されたと判断される場合に、「相対的に」安全であるといえます。安全は、リスクを認識して始めて実現できるものなのです。

出典:社団法人 組込みシステム技術協会「組込み系技術者のための安全設計入門」

信頼性と安全性の違い

ソフトウェアは無体物であり、物体のように磨耗や経年劣化がないため、信頼性と安全性が混同されることがあります。しかし、これらは分けて考える必要があります。

例えば、よく故障する製品があったとしても、その製品の故障が使用者を危険にさらすものでない場合、「信頼性は低いが安全性が低いわけではない」のです。

社団法人 組込みシステム技術協会の「組込み系技術者のための安全設計入門」では、JIS Z 8115 信頼性用語による信頼性と安全の定義が紹介されています。

信頼性と安全性の違いは下記のように理解していただくとよいでしょう。

信頼性と安全性

信頼性:アイテムが与えられた条件のもとで、与えられた期間、要求機能を遂行し、製品の機能を実現する能力。
安全性:製品の機能とは無関係に、リスクが許容可能な水準に抑えられている状態。

出典:社団法人 組込みシステム技術協会「組込み系技術者のための安全設計入門」
引用:JIS Z 8115 信頼性用語(ただし社団法人 組込みシステム技術協会「組込み系技術者のための安全設計入門」p. 17より一部引用)

機能安全対応認証について

近年、組込み機器でも機能安全認証取得への意識が高まっており、弊社イー・フォースでも自社製品のRTOS「μC3」の機能安全認証取得に向けて準備を行なっております。

機能安全規格は、安全機能の評価方法の一つです。安全機能に対して今回解説した「安全性」と「信頼性」の2軸の証明が必要となります。

次回は、組込み系における機能安全規格「IEC61508」、「SIL(ASIL)」について解説します。

イー・フォースがアーキテクトLLCの支援をうけ機能安全対応認証を実際に取得するまでのプロセスを全3回でご紹介する機能安全動画も公開中です。ぜひご覧ください。

第1回『機能安全認証にRTOSって必要なの?』~機能安全RTOSが今後の機能安全認証のキーになる~