安全性が欠かせない自動車の組込み機器では、コンピューティングパワーのニーズが急速に高まり、複雑さが増している。自動車の安全に関する国際規格においても、半導体に関する重要性が増しており、 2018年12月に公開された機能安全規格の2nd Edition であるISO 26262:2018では、半導体に関する章が新設されている。本稿では、 ISO 26262:2018 で記載されているマルチコアプロセッサを設計に用いる際の規格の要求事項について説明する。また、組み込み開発者がマルチコアを新規に採用する際に直面する課題についても説明する。
あるシステムでは、マルチコアプロセッサを使用して必要な目標を達成するのは自然な解決策であるが、他の方法で効率的に実現できることもある。 一方で、マルチコアプロセッサは過剰品質のように見えることもあるかもしれないが、良い設計の選択肢にもなり得る。
このように、自動車のシステム開発の課題に取り組む前に、マルチコアが本当に必要かどうかという疑問に対処することはプロダクト開発において非常に重要である。
ここでは、マルチコアの必要性を3つに分類して扱う。
どのような機能を達成したいのか?なぜマルチコア技術がこのシステムに役立つのか?
マルチコア採用時はこれらの疑問に対する回答を明確にすることが必要である。
本節ではISO 26262:2018 で記載されているマルチコアを設計に用いる際の規格の要求事項について説明する。
モデリングガイドラインとコーディングガイドラインでカバーすべき内容にマルチコアに搭載したソフトウェアの同時処理が追加された。
Topics | ASIL | ||||
---|---|---|---|---|---|
A | B | C | D | ||
1i | Representation of concurrency aspects f | + | + | + | + |
f Concurrency of processes or tasks may be a topic when executing software in a multi-core or multi-processor runtime environment |
Topics to be covered by modelling and coding guidelines (引用:ISO26262-6:2018)
複数のコアに安全要求をデコンポジションして割り当てた場合、当然妥当性説明必要になる。
すなわち、コア間の従属故障と共通原因故障がないことを安全分析結果から示すことになる。
自動車の製品開発プロジェクトでは、異なるソフトウェアモジュールを1つの制御ユニットに組み合わせてコストを節約することがある。このような開発状況でマルチコアプロセッサを利用する場合、コア間でセーフティクリティカルなモジュールへの潜在的な干渉が無いことを論証する必要がある。
マルチコアに搭載したソフトウェアに対して、無干渉の妥当性説明が追加された。
すなわち、ソフトウェアの従属故障分析が必要となる。
仮想技術の有効性も記載されている。
マルチコアに搭載したソフトウェアコンポーネントのタイミング故障に関する分析と適切な方策が要求されている。
引用:ISO26262-11:2018
アプリケーション内のチェックポイントに加え、フローを監視することで正しいシーケンスを保証する。