機能安全とは?

セーフティソフトウェア開発における機能安全規格の重要性と、
セーフティクリティカルなIoTシステムのためのソリューションについてご紹介します。

 

機能安全とは?

システムまたは機器の全体的な安全性において、機能安全とは、入力または故障に反応して正しく予測可能に動作する自動保護に依存する要素です。作業者のミス、ハードウェアの故障、変動する動作環境にも対応できなければなりません。機能安全とは、あらゆる分野(航空、自動車、産業、医療、輸送など)に適用されるものです。その目的は、人間を傷害や死亡事故から守り、機器や設備が生命を脅かすような損害を受けないようにすることです。

ミッションクリティカルなシステム

ミッションクリティカルなシステムでは、失敗が許されません。例えば、衝突センサーを搭載した自律走行車は、人命を失わせてはなりません。人命の安全は、すべての機能安全認証の基本です。

コネクテッド化が進む世界では、データの共有とテレマティクスの可用性が、ミッションクリティカルなシステムや機器の接続とアップデートに不可欠です。

自律的に移動する機器は、人や他の機械の周りで安全に機能するために、環境の状況に反応する必要があります。

接続された自律システム、あるいは接続されたあらゆるシステムを持つ場合、そのセーフティクリティカルな要素が安全であることを証明しなければならず、さもなければ悪意のある攻撃者がシステムの安全性とデータの完全性を妨害する危険性があります。

このような課題に対処し、システムを成功させるためには、ユーザは異なるタイプのオペレーティングシステムを持つプラットフォームを組み合わせる必要があります。オープンソースのLinuxベースのソリューションにリアルタイムOSのセーフティクリティカルな機能を追加することで、自動化、自律化、統合化が進む将来のソフトウェア中心な機能に対応することができます。

組込みシステムとインテリジェントエッジ

次世代の組込み機器は、クラウドネイティブテクノロジーを用いて構築され、企業はエッジにおける新しいユースケースを模索することができます。現在、組込みシステムとそれらが実行するアプリケーションは、クラウドの処理能力と人工知能(AI)および機械学習(ML)技術を活用し、デバイスがデプロイされているネットワークのエッジ上で、より優れた洞察力と意思決定を可能にしています。

インテリジェントエッジから収集される運用・環境データは、機能改善、安全性の確保、リアルタイムのビジネス上の意思決定に活用されます。

ミッションクリティカルなシステムは、セキュアでなければ機能的に安全であるとは言えません。更新、制御、フィードバックのためのエンドツーエンドのセキュリティが重要です。

安全性とセキュリティの違い

安全とは、故意であるかどうかにかかわらず、人命の損失が生じないことを意味します。セキュリティとは、人、施設、業務、データなどを損失、妨害、盗難、またはネガティブな変更から保護し、故意に害を与えないことを意味します。別の言い方をすれば、安全とはシステムから世界を守ることであり、セキュリティとはシステムを世界から守ることです。どちらも重要ですが、システムがセキュアでなければ機能的に安全とは言えません。

なぜ機能安全が重要なのか?

システム、機器、装置における機能安全は、人命の保護、人身事故や環境破壊の防止に不可欠です。その目的は、人命にかかわるような危険な故障を自動的に防止する、あるいは故障が発生してもそれを制御・停止し、さらなる危険や脅威を防止するように動作する、特別に設計されたハードウェア機器やソフトウェアシステムを使用することです。

機能安全の主な内容

人間と自律的または半自律的なシステムの交流が多くなると、自動安全機能はエンドツーエンドシステムにおいて不可欠な要素になります。

機能安全の包括的な目的は、ハードウェアまたはソフトウェアシステムの動作から直接的または間接的に生じる人命へのリスクを防止することです。これには、機器、財産、環境などに対する損害の防止も含まれます。そのために重要なことは、安全システムあるいは安全関連システムを構成する、安全機能と呼ばれる1つ以上の組込みの自動保護機能を適切かつ正しく実行することです。

機能安全はあらゆる部分に範囲が及ぶので、コンポーネントやサブシステムのいかなる機能も、システム全体の自動保護機能の一部として扱う必要があります。したがって、機能安全の規格は電気、電子、プログラマブルなシステムに焦点を当てていますが、実際にはその手法は非電気、非電子、非プログラマブルなコンポーネントにも及ばなければなりません。

機能安全の実現とは、ハードウェアまたはソフトウェアシステムが指定された厳格な機能安全要件を満たしているという保証と証拠を、適切な試験機関や認定機関を通じた認証によって提供することです。

機能安全認証

コンポーネント、サブシステム、システムの機能安全性を主張する場合、それぞれが独立した機能安全規の認証を受けている必要があります。認証済み製品は、限定されたアプリケーションの範囲内で、特定の安全度水準(SIL)または性能水準(PL)に対して機能的に安全であると主張することができます。認証書と、性能の範囲と限界を記述した評価報告書が、お客様に提供されます。

安全認証は、経験と堅固な技術力を持った(エレクトロニクス、プログラマブルエレクトロニクス、メカニクス、確率論的解析)独立した組織によって行われる必要があり、機能安全認証を実施するのは、公認の認証機関です。その認証機関には、公認を行う組織によって証明書が与えられます。ほとんどの国では機能安全認定機関は1つで、米国では米国規格協会(ANSI)、英国では英国認証機関認定審議会(UKAS)です。

機能安全規格

機能安全規格は、航空、自動車、産業、医療、運輸など、さまざまな業界向けのものがあります。産業分野では、IEC 61508が機能安全規格で、IEC 61508規格の機能安全認証プログラムは、Intertek、SGS、TÜV Rheinland、TÜV SÜD、ULなどの公認認証機関によってグローバルに提供されています。

IEC 61508から派生した機能安全規格には、医療機器ソフトウェア向けの国際規格IEC 62304や、自動車の電子・電気安全関連システム全般を対象とした自動車機器向け機能安全規格ISO 26262、鉄道輸送向けのEN 50126/8/9などがあります。

航空市場向けには、米国連邦航空局が機能安全認証のための同様のプロセスを制定しています。ソフトウェアについてはRTCA DO-178C、複雑な電子ハードウェアについてはDO-254として知られており、航空宇宙産業全体に適用されている。ヨーロッパではEURICAE ED-12Cがこれに相当します。

RTCA DO-178C - 航空宇宙分野

DO-178C(Software Considerations in Airborne Systems and Equipment Certification)は、FAA、EASA、Transport Canadaの認証機関が、すべての商用ソフトウェアベースの航空宇宙用システムの審査・承認に使用する主要文書です。

DO-178C DAL A

DO-178Cは、それ自体では、システムで動作するソフトウェアの安全面を保証するものではありません。システム設計において、安全属性とその機能は必須の追加システム安全タスクを含み実施する必要があります。特定の安全要件を満たす明確で客観的な証拠を実装し実証するために、DO-178Cで規定され、かつ認証機関が要求するように、ソフトウェアレベルA~Eを確立する包括的な分析方法を用いて、正しい設計保証レベル(DAL)が確立されなければなりません。セーフティクリティカルな機能を命令、制御、監視するすべてのソフトウェアは、最高レベルのDALレベルAを取得する必要があります。

ARINC 653 - アビオニクス

ARINC 653 (Avionics Application Standard Software Interface) は、セーフティクリティカルなアビオニクスリアルタイムOSにおける空間と時間のパーティショニングのためのソフトウェア仕様です。統合モジュラーアビオニクス(IMA)アーキテクチャの中で、同一のハードウェア上で、異なるレベルの複数のソフトウェアアプリケーションをホストすることができます。

IEC 61508 - 産業用

IEC 61508 は、産業用機能安全規格です。

ISO 26262 - オートモーティブ

ISO 26262 は、自動車産業における機能安全規格です。

EN 50128/9 - 鉄道

EN 50128 は、鉄道制御・保護用ソフトウェアの機能安全規格です。

EN 50129 は、鉄道の安全性に関連する信号用電子システムに関する機能安全規格です。

IEC 62304 - 医療機器

国際規格IEC 62304は、医療用ソフトウェア開発および医療機器内のソフトウェアのライフサイクル要件を規定しています。米国と欧州連合の両方で採用されているため、両市場の規制要件に準拠するためのベンチマークとして使用できます。

機能安全ソフトウェアの開発と考察

未来は自律的な世界になるでしょう。機械学習やコンピュータビジョンなどのソフトウェア中心の機能を取り入れながら、接続された世界での安全性を維持しつつ、プラットフォームを進化させ、お客様の課題を解決し続けるにはどうすればよいでしょうか。

安全認証を取得したリアルタイムOS

ミッションクリティカルなデバイスやシステムも、安全性の認証が不可欠です。ブレーキや補助翼が機能することを保証する必要がある場合、航空宇宙、防衛、自動車、産業、医療、鉄道など、その市場内の特定の規格に対して認定されたリアルタイムOSが必要になります。

また、レガシーの段階になったデバイスを含め、製品のライフサイクル全体を通して機能安全への配慮とサポートが必要です。

最後に、半導体メーカーがマルチコア環境へ移行するのに伴い、これらのデバイスやシステムに対するOSのサポートが必要になります。

AI、機械学習、ディープラーニング(DL)に対応したカスタマイズ可能なLinuxの開発

今後、自律型ミドルウェアやAIの課題に対応するためには、ほとんどの開発がLinuxで行われることになるでしょう。Linuxは、AI、機械学習、DL向けの最も一般的な開発用OSとして、フィールドに出るデバイスのディストリビューションサイズを最小化するために重要な役割を果たすでしょう。

しかしこのことは、セーフティクリティカルなユースケースにおいては、通常はRTOSを必要とするシステムにLinuxを導入することを意味します。例えば、デバイスは性能保証のために RTOSを必要とするかもしれませんが、AI/MLアルゴリズムとの組み合わせでは主にLinuxと関連付けられます。開発者と顧客は、両方のタイプのオペレーティングシステムにまたがるアプリケーションとシステムを必要としており、システムインテグレータはこの方程式の両側で作業する必要があるのです。

相互運用のためのハイパーバイザ

最近の半導体は、1つのオンチップシステムに2~8個のコアを搭載しており、今日の複雑なシステムでは、安全認証されたRTOSと組込みLinux OSは、もはやネットワーク上の異なる2つの制御ユニットではありません。その代わりに、この2つの全く異なるオペレーティングシステムが1つのオンチップシステム上で並んで動作しています。このシナリオでは、高速通信で両者を監視する手段が重要です。そのため、認定を受け、高速で、ホストオペレーティングシステムを管理できるハイパーバイザが不可欠になります。

ハイパーバイザは、特性の異なる複数のオペレーティングシステムを、1つのオンチップシステム上で実行することを可能にします。

ウインドリバーのアプローチ

自律性と接続性の新時代において、安全関連システムを特定し実装することがますます重要になる中、ウインドリバー®は常に業界をリードしています。ウインドリバーのソフトウェアは、航空宇宙・防衛、鉄道、自動車、医療機器、ロボット、産業制御システム、スマート工場など、現代の最もクリティカルなインフラの「失敗できない」コンピューティングシステムを稼働させています。

他社の追随を許さない完全なコンポーネント群を提供できるのは、ウインドリバーだけです。ウインドリバーは、クラスをリードする安全認証済みリアルタイムOS、Yocto Projectをベースとした最も一般的な商用組込みLinuxソリューション、安全認証済みハイパーバイザを提供しています。

また、飛行安全(DO-178C DAL A)、産業(IEC 61508)、鉄道(EN 50126/8/9)、自動車(ISO 26262)など、重要な分野のセーフティークリティカル規格に対応してきた豊富な経験を有しています。

機能安全認証可能なソフトウェア

VxWorks CERT Edition

VxWorks®は、ソフトウェア製品の安全認証において幅広いポートフォリオを有しており、360社を超える顧客の民間航空機、軍用機100機種以上で、600件以上のプロジェクトにおいて使用実績があります。その堅牢な安全機能は、高度な時間と空間のパーティショニング機能を提供し、シングルコアまたはマルチコアプラットフォーム上で重要度の異なる複数のアプリケーションを確実に統合することができます。POSIX®やFACE規格への準拠は、VxWorksのDO-178C、IEC 61508、IEC 62304、ISO 26262安全規格に対する認証に活かされています。

VxWorks 653

VxWorks 653 Multi-core Editionは、安全、セキュア、かつ信頼性の高いリアルタイムOSです。最新のハードウェアプラットフォーム上で堅牢な時間と空間のパーティショニングを提供することにより、ARINC 653準拠のシステムを実現し、障害の抑制と最小限のテストおよび統合要求でアプリケーションをアップグレードする能力があります。

Wind River Helix Virtualization Platform

Wind River Helix Virtualization Platformは、DO-178C(Software Considerations in Airborne Systems)、IEC 61508(Industrial functional safety)、ISO 26262(Automotive safety)の各規格の厳格な要件に準拠し、セーフティークリティカルアプリケーションの認証を受けることができるよう設計されています。また、安全認証を簡素化することも可能です。リアルタイムかつ組込みのタイプ1ハイパーバイザを備えた、OSに依存しないエッジコンピューティングプラットフォームであり、VMを実行するゲストOSを変更せずに管理し、デバイスのワークロードを統合することができます。

医療用アプリケーション#1

医療用アプリケーション#2

アプリケーション#3

アプリケーション#4

VM 1 VxWorks
(セーフティクリティカル)

VM 2 Wind River Linux

VM 3 Windows

VM 4 サードパーティ製OS
(セーフティ/ノンセーフティ)

Wind River Helix Virtualization Platform — ハイパーバイザ

マルチコアハードウェア

プロフェッショナルサービス

システムの認証は、複雑でコストがかかり、要求の厳しいプロセスです。A&D、医療、産業、セキュリティの各業界には、それぞれ異なるものの類似する安全規格があります。ウインドリバーのプロフェッショナルサービスは、セーフティクリティカルな専門知識を提供し、お客様の認証プロセスを支援します。

>>  詳細はこちら

機能安全に関するFAQ

機能安全とは、総合的な安全の中の一部であり、システムまたは機器が入力に応答して正しく動作することが前提です。例えば、電気モーターの巻線に温度センサーを使用して、モーターが過熱する前に通電を停止する過温保護装置は、機能安全の一例です。しかし、高温に耐えられるような特殊な絶縁体を提供することは、機能安全ではありません。ただし、これも安全の一例であり、まったく同じ危険から保護することができます。
安全工学の役割は、事故の防止であり、ヒューマンエラーに起因する人身事故や人命損失のリスクを低減することです。安全工学は、工学的に設計されたハードウェアおよびソフトウェアのシステム設計から安全上の利点を引き出します。安全工学は、機能安全を機器やシステムの運用に不可欠な部分とするために、製品設計に利用されます。
DO-178CはRTCAが作成した文書の略称で、完全なタイトルは、「Software Consideration in Airborne Systems and Equipment Certification」です。この文書は、RTCAの特別委員会205(SC-205)と欧州民間航空機器機構(EUROCAE)のワーキンググループ71(WG-71)により作成されました。この文書のEUROCAE名称はED-12Cです。RTCA はこの文書を www.rtca.orgで提供しています。この文書は、航空電子工学コミュニティに対して、航空システムおよび機器のソフトウェア面が耐空性要件に適合しているかどうかを、一貫した方法で、許容可能なレベルの信頼性をもって判断するためのガイダンスを提供するもので、故障が与える航空機への影響度に基づき、レベルAからレベルEまでの設計保証レベルを定義しています。レベルAのソフトウェアが故障した場合、航空機の安全な飛行の継続と着陸を妨げる致命的な故障状態を引き起こす(またはその一因となる)ことになります。
認証機関であるFAAとEASAは、航空機メーカーに対し、DO-178Cで定義された目標にソフトウェアが適合していることを示すよう求めています。レベルAには66項目の目標が設定されています。ソフトウェアを使用する航空機やアビオニクスのメーカーがFAAに承認されるためには、ソフトウェアの開発および試験において常にDO-178C規格を遵守しなければなりません。メーカーがFAAの要求事項を満たすために他の規格を使用してソフトウェアを認証することは可能ですが、その証明責任はメーカーにあるのです。
IEC 61508は、産業用機能安全に関する規格です。産業用電気、電子、プログラマブル電子システムおよび製品のライフサイクルにおける機能安全基準を規定しています。この規格書は、センサー、制御ロジック、アクチュエーター、マイクロプロセッサーなど、自動安全機能を実行する産業用デバイスやシステムのコンポーネントに焦点を合わせています。
ISO 26262「Road vehicles - Functional safety」は、自動車や路上走行車における電気および/または電子システムの機能安全に関する国際規格です。2011年に国際標準化機構で定義され、その後2018年に改訂されました。
このIEC規格は、「医療機器ソフトウェア-ソフトウェアライフサイクルプロセス」とも呼ばれます。ソフトウェアは医療機器技術に不可欠な部分であることが多いため、これらの機器の安全性を測るには、ソフトウェアの動作が何を意図しているかを知り、ソフトウェアの使用が許容できないリスクを引き起こすことなくその意図を満たすことを証明できるかどうかにかかっています。

この規格は、医療機器ソフトウェアの安全な設計と保守に必要な活動やタスクのライフサイクルプロセスの枠組みを提供します。各ライフサイクルプロセスに対する要求事項を提供し、さらにそれらのプロセスを一連の活動に分割し、その大部分をさらに一連のタスクに分割します。
機能安全とは、あらゆる製品が、人間または環境を脅かすような、生命を危険にさらしたり傷害を誘発する事故を自動的に防止するように設計されたものです。さらに機能安全システムは、コストを削減し業務の効率を向上させることができます。
機能安全の主な特徴は、潜在的に危険な状況を防止または停止するように、あるいは生命やその製品がおかれた環境を脅かす傷害を軽減するように、装置、デバイス、またはシステムに自動安全機能を設計し組み込むことです。
機能安全管理とは、規定された機能安全規格のレベルを満たす必要のある製品、機器、デバイス、システムの機能安全ライフサイクルにおけるすべての活動を特定し、定義することです。
機能安全とは、安全関連機能の許容可能な実装、運用、および継続的な保守を保証することです。これは、システムが必要なときに期待通りに動作し、危険な事象が発生して人に怪我をさせたり、環境や資産に害を及ぼすことを防ぐための安全保護を提供することを求めています。
特定の産業はセーフティクリティカルであり、その産業分野で規定されている安全規格に必ず準拠していないといけません。ここでは、いくつかの機能安全規格を紹介します。
  • IEC 61508: 電気/電子/プログラマブル電子安全関連システムの機能安全
  • ISO 26262: 自動車
  • IEC 61511: プロセス産業
  • IEC 62304: 医療機器
  • EN 50126、EN 50128、EN 50129: 鉄道アプリケーション(信号および鉄道車両)
  • ISO 25119: 農業
機能安全評価では通常、機器、デバイス、システムの所定のプロセスや手順を監査し、特定の業界の機能安全要件に準拠していることを確認します。これには、各ライフサイクルステージの検証や、業界固有の安全要件一式の妥当性確認が含まれます。
各機能安全規格は、リスクに基づいています。規格を適用するためには、製品の操作や使用における安全リスクの許容範囲を定義する、業界基準を特定し確立する必要があります。このリスクレベルによって、規定された基準、プロセス、提供すべき妥当性が確立されます。
機能安全分析は、製品の一部が仕様を満たし、実際に機能安全を達成しているかどうか(つまり、許容できないリスクがないかどうか)を判断するために行われます。この安全評価は、システマティックな故障を減らすための重要な役割を担っています。
自動車機能安全は、自動車のハードウェアおよびソフトウェアコンポーネントの電気・電子システムに関して定義された国際規格ISO26262のことです。この規格は、自動車のシステムが安全に機能するために満たさなければならない要件と、開発時に使用するプロセス、方法、ツールを規定しています。この機能安全規格は、自動車のライフサイクルを通じて、すべての適切な安全レベルが満たされ、維持されることを確実にするものです。
自動車が初めて世に出たときから、安全性は望まれた機能でした。自動車が高度化し、電気系統、コンピューティングシステム、センサーなど、自動車の運行に重要なシステムが多数搭載されるようになると、機能安全が要求されるようになりました。自動車の故障を抑え、ドライバーや同乗者の安全を確保するためには、適切な機能安全基準を満たすことが重要です。
車両製品をISO 26262に準拠させるためには、メーカーまたはOEMは、車両のコンポーネントのすべての大手サプライヤーとサプライチェーンプロバイダーから、彼らの製品がISO 26262準拠である証拠または証明を取得しなければなりません。そして、すべての証拠または証明書類をまとめてISO認定認証機関に提出して分析してもらい、最終的に車両がISO 26262に準拠していることを認証してもらう必要があります。
TÜVはドイツの安全機関で、機器、装置、システムの機能安全試験を行います。その認証は機能安全規格に適合していることを証明するもので、主にヨーロッパで受け入れられています。ECは、European Certificationの略称です。企業は、欧州で認められている安全機関のマークを1つ以上取得している製品に、ECのCEマーク(フランス語の「Conformité Européene」に由来)を使用することができます。したがって、テュフマークの付いた製品もCEマークを使用することができます。CEマークは欧州では認められているが、米国では認められていません。

米国認証機関のアンダーライターズ・ラボラトリーズ(UL)は、125年以上にわたり、様々な製品に対する数千もの安全規格を策定してきました。ULマークは世界的に認知されています。企業が自社の製品にULマークを使用するためには、その製品がULの安全規格を満たし、ULの検査に合格している必要があります。
ASIL(Automotive Safety Integrity Level)とは、ISO 26262で定義された、路上走行車や自動車の機能安全に関するリスク分類システムです。
ユーザはスレッドセーフ関数を使用して、並行して実行できる関数を同時に実装することができます。これらの並行して実行される関数は、互いに実行を依存することも、独立することもできます。
機能テストを行う利点は、欠陥のない製品/ソフトウェアをより高いレベルで生産することで、顧客やエンドユーザの満足度を確保することができる点です。機能テストは、すべての操作および製品要件を確実に満たすためのプロセスを提供します。また、機能テストは、アプリケーション、ソフトウェア、または製品の全機能が正常に動作していることを確認するのに役立ちます。
SIL(Safety Integrity Level)とは、機器、デバイス、システムの安全機能がもたらすリスク低減に対する相対的な安全レベルのことです。SILはリスク低減のレベルを表すこともあります。SILは安全計装化された機能に求められる性能測定です。
DO-254とEUROCAE ED-80は、一般的にDALと呼ばれる5つの設計保証レベルを定義しており、これらのコンポーネントが安全な飛行にとってどれだけ重要であるかを示しています。DALは、故障状態の結果に基づき、レベルAからレベルEまであります。例えば、レベルAのソフトウェアが故障した場合、航空機の安全な飛行と着陸の継続を妨げる致命的な故障状態を引き起こす(またはその一因となる)ことになります。
  • 壊滅的(レベルA): 故障が原因で航空機が墜落する可能性がある状態。安全な飛行・着陸に必要なクリティカルな機能のエラーまたは喪失
  • 危険(レベルB): 故障により安全性や性能に大きな悪影響を及ぼすか、身体的苦痛や作業負荷の増大により乗務員の運航能力を低下させたり、またはそれが原因で乗客に重傷または生命にかかわる負傷を負わせる。安全性に著しい影響を与える状態
  • 重大(レベルC): 故障は重大だが、危険レベルの故障に比べれば影響が小さい(例えば、怪我ではなく乗客の不快感につながる)、または乗務員の作業量が大幅に増加する(安全性に関わる)状態
  • 軽微(レベルD): 故障は目立つが、重大な故障に比べれば影響が小さい(例えば、乗客に不便を与えることや、フライトプランの変更などがある)状態
  • 影響なし(レベルE): 故障しても、安全性、乗務員の作業量、航空機の運航に影響・負荷を与えない状態
商用オフザシェルフ(COTS)とは、商業的に入手または購入が可能な既製のソフトウェアおよびハードウェアのことです。同義語に「off-the-shelf」または「OTS」があります。
SOUPとは、「Software of unknown(or uncertain)pedigree(or provenance)の頭文字をとったものです。医療システム用ソフトウェアなど、既知のソフトウェア開発プロセスを経て開発されてはおらず、安全性に関する特性が不明または全くない可能性のあるセーフティクリティカルシステムのことを指します。
コードカバレッジテストは、どれだけの量のコードがテストされたかを決定するのに役立ちます。これは、テストスイートの品質に関係し、与えられたソフトウェアがどれだけ綿密に検証されたかを分析するのに役立ちます。簡単に言うと、コードカバレッジテストは、ソフトウェアのソースコードがテストされたレベルを示すものです。
ソフトウェアハザード解析は、サブシステムハザード解析の一形態として、指定されたソフトウェアのクローズドボックス動作がシステム安全設計制約を満たすかどうかを検証するために設計されています。さらに、指定されたソフトウェアの動作が、一般的なソフトウェアシステムの安全設計基準を満たしているかを検証します。