コンピュータプログラマコーディングのクローズアップ

近年、組み込みシステムを開発する過程において、安全設計という考え方が重要視されるようになりました。この考え方と同時に、国際的に安全性を確保するための国際規格が定められるなどの取り組みが行われています。

本記事では、そんな安全性確保のために重要な考え方の一つである「機能安全」について包括的に解説しながら、最後に組み込みシステムの重要な機能の1つであるリアルタイムOSの安全性にスポットを当てるように解説します。

機能安全とは。本質安全との定義の違い

まず機能安全を理解するためには、同時に本質安全について理解する必要があります。

機能安全とは

機能安全とは、周辺の安全対策機能によって人や環境へのリスクを相対的に軽減もしくは除去する事を指します。

機能安全がどういうものか理解するために最も分かりやすい具体例は、車道と交差する踏切に設置されている遮断機や信号、警報機です。

踏切

踏切におけるリスクとは、人や自動車と列車が接触する事です。その接触リスクを低減するために、警報機や信号によって列車の接近を人に認識させ、遮断機で停止を促しています。

この場合、全てを無視して線路内に立ち入ることが出来るため、完全に安全性を確保できているとは言えません。しかし、誤って線路内に侵入してしまうリスクを下げる事が出来ています。

このような遮断機や警報機などでリスクを軽減する対策を「機能安全」と呼びます。

本質安全とは

次に本質安全とは、安全対策によって人や環境へのリスクを直接取り除く事を指します。

機能安全と同様に列車の衝突リスクにおいて本質安全の具体例を挙げるのであれば、線路を高架線にしてその下に車道を通し、線路と車道を立体的に交差させる事です。

鉄道と道路のジャンクション

この場合、列車と自動車がぶつかる環境そのものを取り除く事で安全性を確保する事が出来ています。

信頼性と安全性

機能安全や本質安全然り、システムの開発をする上で安全性対策は非常に重要視されています。組み込みシステムの安全設計を構築する中で、その安全性対策がどれほど安全なのか考えるために、信頼性と安全性という概念を理解する必要があります。

ここではその信頼性と安全性について解説します。

信頼性とは

信頼性(reliability)とは、「機能単位が、要求された機能を与えられた条件のもとで与えられた期間実行する能力」と、(JIS X 0014)で定義されています。

重要な部分のみ抜粋すると「要求された機能を与えられた期間実行する能力」となっています。一見安全に対して問題がなさそうな定義ですが、よく読むとこの定義の中に安全に関して明記する表現がありません。

つまり、要求された機能そのものがリスクを抱えていたとしても、与えられた期間実行する事が出来れば信頼性はあると言えます。

列車で例えるのであれば、脱線するリスクがあるスピードで自動運転をしていても、それが要求された機能通りの動作ならば信頼性は問題がないという事になります。

しかし、これでは安全であるとは到底言えません。だからこそ、次に説明する安全性も同時に考える必要があります。

安全性とは

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

重要な部分を抜粋すると「危険にさらす状態に移行しない」という事こそが安全性であるとい言えます。しかし、信頼性の定義に記載されていた「機能を実行する能力」については、安全性では触れられていません。

例えるなら、線路から降ろされて車輪がなく走ることが出来ない列車でも安全性が確保されているという事になります。

それで例え安全であったとしても製品価値はほぼ無いに等しいでしょう。

つまり、組み込みシステムを含めた全ての製品において安全設計を考える際には、信頼性と安全性の両方が同時に満たされている事が重要になります。

組み込みシステムの機能安全に関係する国際規格「IEC61508」と「ISO26262」

機能安全の規格として最も有名なものは国際規格「IEC61508」です。

しかし、本記事ではIEC61508に加えて、弊社が取り扱っている「BlackBerry QNX」が得意とする医療分野の機能安全に関わる国際規格「IEC60601」、そして自動車製品など電気システムに特化した機能安全に関わる規格「ISO26262」について解説いたします。

国際規格「IEC61508」

IEC61508とは、「電気・電子プログラマブル電子安全関連系の機能安全」であり、電子系の機能安全を確保するためにIEC(国際電気標準会議)から策定された国際規格です。日本で言えば、JIS C0508がIEC61508に該当し、組み込みシステムのほぼ全てがこのIEC61508で定義された機能安全をベースに安全設計を検討しています。

電気・電子機器などの組み込みシステムにおける機能安全は、以下3つの流れによって実現されます。

「機能安全」の具体的な3点

引用:厚生労働省

この検討ステップの中で、重要な事は要求される であり、そしてその安全度水準(SIL)をいくつに設定するのか、という事です。

この安全度水準(SIL)の詳細については後述します。

医療向け電気・電子システムの国際規格「IEC60601」

IEC60601とは、医療用の電気機器の安全性を確保するために、IEC(国際電気標準会議)から策定された国際技術規格です。

近しい安全規格としてIT機器に関する国際規格IEC60950がありますが、医療用機器は通常のIT機器と比べて、人の生命や健康に密接に関わる機器となるため、非常に厳しい要求になっています。

基本的な検討ステップは、IEC61508と同様のケースが多くなります。安全性能を測る尺度はIEC61508と同様に安全度水準(SIL)を用いて評価しています。

車載向け電気・電子システムの国際規格「ISO26262」

ISO26262とは、車載用の電気・電子システムに関連する機能安全についてISO(国際標準化機構)が策定した国際規格です。自動車は通常の電気・電子機器よりも異なる環境(交通ルールや運転文化、天候の影響など)が多く存在するため、IEC61508を基としつつも車載用に特化した機能安全規格としてISO26262が策定されました。

自動車の電子製品およびマイコンなどは、このISO26262の適応を標準化する動きがあり、多くの自動車メーカーやサプライヤーがこのISO26262の要件を満たす事で安全性を担保しています。

ISO26262とIEC61508の異なる点は、安全度水準にSILを用いない点が挙げられます。代わりにASIL(Automotive Safety Integrity Level:自動車安全水準)が用いられており、公道を走行する自動車の機能安全について定義されています。ASILの詳細については後述します。

リスク分類システム「SIL」と「ASIL」

これまでに安全水準を測るための指標として、SILとASILが説明に登場しました。ここではそのSILとASILについて詳細に解説します。

SILとは

SIL(Safety Integrity Level)とは、IEC61508によって定められた安全度水準であり、安全基準が厳しい医療機器を始め、多くの電気・電子システムの安全性評価に使用されます。

SILは、その要求動作の頻度によって異なる指標が用いられ、高頻度要求モードでは「危険側故障の平均頻度」が、低頻度要求モードでは「危険側機能失敗平均確率」が使用されます。

安全度水準(SIL)

危険側故障の平均頻度(高頻度モード)

危険側機能失敗平均確率(低頻度モード)

SIL4

10-9~10-8

10-5~10-4

SIL3

10-8~10-7

10-4~10-3

SIL2

10-7~10-6

10-3~10-2

SIL1

10-6~10-5

10-2~10-1

確率的な手法で定量的に見極める事で要求されるSILをSIL1~SIL4で割り当てます。SIL4が最も高い安全要求であり、3~1に下がるにつれて要求レベルが下がっていきます。

様々な電気・電子システムの安全性の開発においては、このSILを満たす製品(リアルタイムOSなど)を選定する事が重要です。

ASILとは

ASIL(Automotive Safety Integrity Level)とは、ISO26262によって定められた安全水準であり、現在ではほぼ全ての車載用電気・電子システムの性能担保に用いられています。このASILは安全水準をA,B,C,Dの4段階で評価しています。

また、ISO26262では、ハザード分析とリスク解析から起こりえる個々のハザードそれぞれに適応したASILを決定していきます。決定までの大きなステップはISO26262に記述されている「機能安全コンセプトの決定」を見ると分かりやすいでしょう。

機能安全コンセプトの決定

機能安全コンセプトの決定

引用:https://www.jqa.jp/service_list/fs/file/techdata_26262.pdf
出典:ISO 26262-3 Table 1、Table 2、Table 3

ハザードの重大さの程度(S:Severity)、動作状況で晒される可能性(E:Exposure)、操縦性(C:Controllability)の3つの観点からASILを割り当て、安全目標を決定します。具体的には下記の表に基づいて割り当てられます。 

ISO 26262(車載用機能安全)表

引用:https://www.jqa.jp/service_list/fs/file/techdata_26262.pdf
出典:ISO 26262-3 Table 4

Dを最高水準の安全水準とし、C~Aへと変わるにつれて求められる安全水準が下がっていきます。 QM(Quality Management)は、ASILによって満たすべき安全水準の要求が無いことになりますが、一定の管理は行われるべきです。

車載向け電気・電子システムの安全性の開発においては、このASILを満たす製品(リアルタイムOSなど)を選定する事が重要です。

リアルタイムOSにおける機能安全の重要性

これまでに機能安全や安全水準について解説を行ってきましたが、組み込みシステムにおいて制御の中核を担うリアルタイムOSは特に安全や信頼性を求められる重要な製品の1つです。

安全性や信頼性が低いリアルタイムOSを使用した場合、システムの誤動作が発生しやすくなったり、マルウェアやサイバー攻撃へのセキュリティ強度が低いなどのリスクを抱える事になります。

万が一上記のような問題を発生させた場合、人の生命や健康に関わる医療機器や、ハザードの重大さが大きい自動車機器などは取り返しのつかない状況に発展する可能性があります

制御の中核を担うリアルタイムOSは、上記のリスクを徹底して排除する必要があります。そのためにはSILやASILで認定された高い信頼性と安全性があるリアルタイムOSを選ばなければなりません。

弊社取り扱いの「BlackBerry QNX」と強みのご紹介

最後に弊社が国内代理店を請け負っているリアルタイムOS「BlackBerry QNX」とその強みを簡単にご説明いたします。

車載向けでは、高信頼性のリアルタイムOSとして45以上の自動車ブランドで採用されており、現在2億1500万台以上の車両に搭載されている実績がありますが、BlackBerry QNXリアルタイムOSは、「ISO26262 ASIL D」の認証を取得しているため、お客様の認証取得の作業を大幅に軽減が可能です。

車載向けソリューション

車載向けソリューション

また、組み込み向けソリューションであれば「IEC 61508 SIL3」の認証を取得しており、その高い信頼性から、安全要求水準の高い医療機器などにも多く使用されています。

組込み向けソリューション

組込み向けソリューション

上記のような高い信頼性を持ちながら、低いトータルコストで導入する事が可能です。

簡単な紹介はここまでにいたします。さらに「BlackBerry QNX」について、詳細が知りたい方は下記リンク先の弊社HPに記載しております。ウェビナーでの紹介動画もありますので、ぜひご視聴いただけますと幸いです。

お問い合わせ

本記事の内容に関して、ご質問やご不明点などございましたら、以下よりお気軽にお問い合わせ下さい。