1  車載組込みシステムの特性と構造

車載組み込みソフトの多くは,車載部品のECU(Electronic Control Unit:電子制御ユニット)のROM(Read-Only Memory)に書き込まれ,部品の一部として出荷されます.物理的な構成から,テスト対象として組み込みシステムや組み込みソフトの特性について考えます.

1.1 車両システムレベルの構造

車両システムは,数十以上のECUによる分散型のシステム構成であるが,ボトムアップ型のシステム進化で拡大してきた.ボトムアップ型とは,個々の車載部品:例えばETC,バックモニター,エンジンなどの個別制御から,一部がCANなどで連携するスタイルを意味する.

この歴史的な背景から,結果的に多種多様なECU構成要素の集まりとして,車載アーキテクチャが出来上がっている.これをE/Eアーキテクチャと呼んでいる(Blanco et al. (2023)).その構造を@fig-EE_artc 「E/Eアーキテクチャ」に示す.

E/Eは,電子/電気制御を意味するもので,車両の制御は「ソフト」ー「電子回路」ー「電気による変換器:アクチェーターやセンサ」ー「機構部品:エンジンやステアリング」の流れで実装されている.この構造は,ソフトが搭載される以前から存在していた.

Figure 6.2 の最下層はECUを示し,多種多様なものが存在する. 次の層はを Virtualiastion(ECUの仮想化技術) であるが,ごく一部で使われている. 下から3層目がRTOSで,AUTOSAR対応は2種類(2003年版,Adaptive版)その他いろいろでAndoroidやUnixベースなどがある(世界規模での観点).

個々のRTOSの上に,様々なAPP(アプりケーションプロダクト)が搭載され,その一部がCANやIP通信を行っている.Figure 6.2 の右側はクラウドなどIT世界を示すが,連携はごく一部である.

Figure 1.1: E/Eアーキテクチャ 文献引用 Blanco et al. (2023)

Figure 6.3 「予想されるアーキテクチャ」は,文献予想@10177956 で示された近未来のアーキテクチャを示す.大きな変化は,

  1. ECU 仮想化技術
    統合ECUから,エッジECUまで多様なハードを仮想化してOSがサポートする技術で,既に一般化している.Hyper 技術や Docker 技術,QUEMなどがある.
  2. 通信のミドル化
    通信機能はミドルソフトとして共有される.Lan/Wan や ROS2などが使われる.
  3. APPと分散処理
    通信機能を介して,ECU上の単独APPから,分散処理型のAPPが搭載される.

これらは,モダン技術やポストモダン技術の分野に属す.

Figure 1.2: 予想されるアーキテクチャ 文献引用 Blanco et al. (2023)

1.2 物理構造

組み込みシステムの一般的な構造を Figure 1.3 「組み込みシステムの構造.」に示す. 図の下層から順に,

  1. 制御対象
    ワイパーやエンジンなど制御を行う対象の装置や部品です.最終段階のシステムテストでは,車載された状態でのエンジンやワイパーの動作テストを行います.
  2. センサ/アクチュエータ
    1.の制御対象とECUを接続し制御するための部品で,センサは,温度,圧力,回転数などを計測してECUの入力として伝える.アクチュエータは,ECUからの出力でモーターやバルブなどの物理的動作を行う装置です.これ以外にLANやCANなど通信装置も含まれる.テストとしては,システムテストの入出力に相当する.実機を用いる方法と,エミュレータを用いる方法がある.
  3. ECU(電子制御ユニット)
    制御対象により様々な種類があるが,CPU,I/O(入出力用のレジスタや特別なアドレス),メモリは,汎用化が進みつつある.制御のための電子回路には,制御対象によってバリエーションがある.テストでは,実機ECUとは別に,評価ボードと呼ばれるデバッグ機能(トレース機能やレジスタの書き込み読み出し機能)を追加したハードが使われる.
  4. 組み込みソフト
    当該ECUの命令とI/Oに対応したソフトウェアで,タスク制御を行うRTOS(リアルタイムOS)と制御アプリで構成されている.車載システムでは,AUTOSAR規格を満たしたRTOS周辺の機能をBSW(ベーシックソフトウェア)と呼び,他をアプリソフトと呼び区別している.テストでは,当該ECUでテストを実行する場合とエミュレータを用いてPC上で行う場合がある.PC上では,RTOSによるタスク実行が困難なので,関数(実際はコルーチン)単位の単体テストが主流となっている.
graph_name RTOS 組込み ソフト  制御アプリ RTOS/BSW ECU CPU I/O メモリ  制御の電子回路   センサ   アクチュエータ  制御対象装置や部品
Figure 1.3: 組込みシステムの構造.

1.3 組込みシステムの特性

システムの特性は,システムテストの要件につながる.様々な分類が考えられるが,代表的な特性を Figure 1.4 「組み込みシステムの特性概要.」として示す.

  1. 機能による分類
    対象製品や制御内容によって様々な種類がある.ブレーキ制御/ABS,エンジン制御/燃料噴射,点火タイミング,コートクルーズ,オーディオシステムなど様々な機能が存在する.これは Figure 1.3 「組み込みシステムの構造.」で示した「制御対象装置や部品」の特性であり,ソフトウェアの特性ではない.
  2. リアルタイム性
    組み込みシステムは,必然的にリアルタイム性を持っている.
    • ハードリアルタイムシステム: 一定時間内に必ず処理を完了する必要があるシステム(例:エアバッグシステム).
    • ソフトリアルタイムシステム: 若干の遅延は許容されるが,リアルタイム性が重要なシステム(例:音声認識システム).
  3. 安全性と信頼性
    システムの安全性は,故障や誤操作によって人命に関わる可能性で測られ,ASIL(Automotive Safety Integrity Level)などの尺度が使われる.ISO 26262ではASIL AからASIL Dまで4段階が定義されている.
    信頼性については,MTBF(Mean Time Between Failures),MTTR(Mean Time to Repair),FMEA(Failure Mode and Effects Analysis),HAZOP(Hazard and Operability Study)などが使われている.
  4. セキュリティ
    近年,自動車のサイバーセキュリティが注目され,ISO/SAE 21434 「Road vehicles – Cybersecurity engineering」(道路車両 – サイバーセキュリティエンジニアリング)では自動車のライフサイクル全体にわたるセキュリティ対策を規定している.

組み込みシステムのテストは,ソフトウェアテスト技術だけで扱うことが困難な分野であるが,ソフトウェアの関わりが大きく,協働が必要な分野である.

graph TD
 a[組込みシステム<br>特性] 
 b[製品機能の<br>特性]
 c[リアルタイム<br>特性]
 c1[ハード<br>リアルタイム]
 c2[ソフト<br>リアルタイム]
 d[安全性<br>信頼性]
 e[セキュリティ]
 f[その他<br>操作性]
 a --> b
 a --> c --> c1
 c --> c2
 a --> d
 a --> e
 a --> f
 
Figure 1.4: 組込みシステムの特性概要.

1.4 派生開発への影響

組み込みソフトの派生開発やそのテストに影響が生ずる主な要因について考える.Section 1.2 「物理構造」の多くは,新規開発で決まり,派生開発で変化が生じることは少ない.派生開発で生じるハード上の変更は,ECUのチップレベルでのリリースに伴う変更です.ECUチップの生産は,ロット単位で複雑な生産プロセスを経て生産されます.常に生産プロセスはカイゼンされており,微細な動作の変更や,レジスタのロックタイミングが変わります.チップメーカーがリリース時に出版する文書をチェックし,変更を読み取り,実装仕様の変更とレビューを計画し実行します.物理的な動作確認は,対応した評価ボードで行います.

派生開発における Section 1.3 「組み込みシステムの特性」の多くは,特性維持ができている(デグレードが無い)ことです.単体テストではシステムレベルの特性を保証できないので,受け入れテスト(出荷テスト)と,徹底した変更のレビューで担保します.維持する部分以外に派生開発としての変更があるので,その部分のテストとレビューが必要です.

  1. 機能の変更
    派生開発における大きな変更は,法規や規格対応,仕向変更,診断機能,リプログラムなど支援機能,コストダウンのための機能などがあります.機能そのものの設計より,既存実装への影響についてのチェックやテストが必要になります.後述するタスクの制御方式が,組み込み特有であることから,専門的な対処が必要です.
  2. リアルタイム性
    特にハードリアルタイム性は,μ秒(百万分の1秒)単位の精度が求められ,実測が困難であり,特別なレビューが必要になります.
  3. 安全性と信頼性
    派生開発によってシステムレベルの安全性や信頼性に影響を与えないための車載システムにおける方法論:変化点管理により,仕様変更段階で確認する.ソフトウェアに対応した変化点管理の適切な運用ナレッジが必要である.
  4. セキュリティ
    セキュリティ問題は,攻撃が成長を続けるので,既知になった対策の適切な対応が必要になる.ネットへの接続が増加すると,派生開発での対応が増加する傾向にある.

1.5 モダン技術における組込みシステムの構造

第二部で説明