AUTOSARの階層アーキテクチャの詳細 ―― 自動車業界に見る組み込みソフト開発効率化の取り組み(2)
連載1回目で説明したように,AUTOSARは階層化されたソフトウェア・アーキテクチャをとっています.具体的には,「アプリケーション層(AUTOSARソフトウェア)」,「ランタイム環境(RTE;Runtime Environment)」,「基本ソフトウェア(BSW)」からなります(図1).これをもう少し詳しく示すと,図2のようになります.今回は,この中身をもう少し詳しく見ていきます.
[図1] AUTOSARのアーキテクチャ
[図2] AUTOSARのアーキテクチャ(詳細)
(AUTOSAR Technical Overview V2.2.2 R3.1 Rev.001より引用)
●アプリケーションはECUを知る必要がない
図2の例では,特定のアプリケーションとしてセンサやアクチュエータのアプリケーションなどが接続されています.アプリケーション・コンポーネントは同じAUTOSARランタイム環境(RTE)上に,AUTOSARインターフェース(詳細は後述する)を介して基本ソフトウェアと接続されます.この際に,そのソフトウェアがどのECUで使われるかを意識することなく記述できるのがAUTOSARの利点です.●サービス層はOS,サービス,通信ソフトからなる
図1で「基本ソフトウェア」として分類されていた部分は,以下の四つの層によって構成されています.- サービス層
- ECU抽象化層
- マイクロコントローラ抽象化層(MCAL)
- 複合デバイス・ドライバ層
- オペレーティング・システム:AUTOSARでは特定のオペレーティング・システム(OS)の使用を規定しているわけではありませんが,基本OSとしてOSEK OS(ISO 17356-3)を参照しています.現在使用しているほかのOSも,インターフェースをAUTOSAR準拠にすれば使用することができます.
- サービス:診断プロトコル,NVRAM,フラッシュ・メモリ,RAM/ROMメモリの管理用基本ソフトウェアからなります.
- 通信ソフトウェア:LIN, CAN, FlexRayなどの通信フレームワーク,I/Oマネジメント,ネットワーク管理など基本ソフトからなります.
●インターフェースは3種類ある
これまで説明したアプリケーション層と基本ソフトウェアは,それぞれが何種類かのインターフェースで接続されています.特に,AUTOSARランタイム環境につながる部分はすべてインターフェースでつながれています.インターフェースには以下の3種類があります.
- AUTOSARインターフェース:ソフトウェア・コンポーネントの情報をやりとりします.
- 標準AUTOSARインターフェース:シンタックスやセマンティックがAUTOSARにより標準化されたインターフェースです.特にAUTOSARサービスで使われます.
- 標準インターフェース:特にソフトウェア・モジュール上で使われるAPI(Application Programming Interface)です.