"タダ"だから使う「オープン・ソース」から,信頼性を備えたプラットホームへ ――TOPPERSカンファレンス2005
2005年5月27日,アルカディア市ヶ谷(東京都千代田区)にて,「TOPPERSカンファレンス2005」が開催された.主催のTOPPERSプロジェクトは,オープン・ソース版ITRON OSの開発と普及推進を目的とする業界団体である.同プロジェクトの開発成果としては,μITRON 4.0仕様の標準プロファイルに準拠したリアルタイムOS「TOPPERS/JSPカーネル」,メモリ保護機能を含むμITRON 4.0/PX仕様に準拠した「TOPPERS/IIMPカーネル」などがある.本カンファレンスでは,TOPPERS/JSPカーネルをマルチプロセッサ向けに機能拡張した「TOPPERS/FDMPカーネル」や,自動車制御用リアルタイムOS「TOPPERS/OSEKカーネル」について,開発者が講演した(写真1).また,組み込みソフトウェアに関するそのほかの業界団体,例えばSEC(ソフトウェア・エンジニアリング・センター)やJASPAR(Japan Automotive Software Platform Architecture)との連携についての講演が行われ,同プロジェクトの開発成果に対する信頼性の検証についての言及があった.
●FlexRayへの対応を視野に入れた自動車制御用RTOS
本カンファレンスのテクニカル・セッションでは,自動車制御用のリアルタイムOS「TOPPERS/OSEKカーネル」についての講演が行われた(写真2).本リアルタイムOSは,欧州で広く採用されている自動車のECU(電子制御ユニット)間のインターフェース仕様「OSEK/VDX」に従って開発した.ソース・コードは,TOPPERS/JSPカーネルをベースにしている.ソフトウェア開発会社のヴィッツと名古屋大学 組込みリアルタイムシステム研究室が共同で開発した.
OSEK/VDX仕様では,リアルタイムOS(OSEK OS),通信(OSEK COM),ネットワーク管理(OSEK NM)の三つを定義している.OSEK/VDX version2.2.1に従ったOSEK OS(適合クラスECC-2)に対応のリアルタイムOSは,2004年11月から一般公開されている.今回は,これにOSEK COM version3.03に対応したソフトウェア部品を追加した.OSEC COMの適合クラスは大きく四つある.すなわち,ECUの内部通信のためのCCCAとCCCB,ECUの内部通信およびネットワークを介した外部通信のためのCCC0とCCC1である.今回,新しく追加したのはCCC0とCCC1である(CCCAとCCCBについては,従来から対応していた).本ソフトウェア部品は,2005年6月末に開催される「第8回 組込みシステム開発技術展(ESEC)」に合わせて同プロジェクト会員に公開され,検証が行われる.同年11月ごろに一般公開されるもよう.
ネットワーク(バス)とOSEC COMの間には接続通信用ドライバを組み込む必要がある.そこで,ヴィッツと名古屋大学はCANとLINのドライバも開発した(写真3).本カンファレンスでは,CPU(ルネサス テクノロジのM32C)にOSEK OSとOSEC COM,CAN/LINドライバを実装し,CANを使ってボード間で通信するデモンストレーションも行われた(写真4).
なお,OSEK NMについてはECUメーカによって,細部の仕様にばらつきがあるため,汎用的なソフトウェア部品を作るのは難しいが,要求に応じて随時対応していく予定.
ヴィッツによると,ボディ系の制御に対応するためのタスク動作監視機能や,電力管理機能などを開発中だという.また,今後,一つのECUの上に複数のアプリケーションが実装されることも考えられる.このため,メモリ保護機能や時間保護機能(アプリケーションの実動作時間を監視しながら,プロセッサの実行時間を適切に配分する機能)を開発していくという.また,FlexRayに対応したミドルウェアの提供も考えている(写真5).
●TOPPERS OSに求められる信頼性
本カンファレンスでは,トヨタ自動車 統合システム開発部の谷川 浩氏が,自動車におけるソフトウェア開発とJASPARの取り組みについて講演した(写真6).
近年,自動車の電子制御化が進み,ソフトウェアの開発効率の向上が一つの課題となっている.谷川氏によると,従来の自動車に搭載されるソフトウェアは,機能単位に考えていればよかったが,ソフトウェアで実現する機能が増加するとともに,一つの機能の仕様変更が自動車全体のソフトウェアに波及するようになってきたという.「効率を上げるためには,再利用可能な階層化や部品化が必要となってくる.階層化を行うには,まずトップダウンの開発プロセスをとり,仕様定義をきちんと行わなければならない」(谷川氏).
こうした中,2004年9月にJASPARという業界団体が設立され,トヨタ自動車もこれに参画している.「JASPARの目的は,アプリケーション・ソフトウェアの可搬性を上げること」(谷川氏).現在はFlexRayの回路構成やソフトウェア部品などの開発ガイドラインを策定する活動を行っている.2005年後半にはFlexRay以外の車載ネットワーク規格についても,ワーキング・グループを立ち上げるという.
アプリケーション・ソフトウェアの可搬性を上げるためには,共有部分であるプラットホーム作りが重要になる.谷川氏は,TOPPERSプロジェクトとの連携について,「さまざまな会社の知見を提供しながら,オープンなTOPPERSのソフトウェアを用いて,リファレンス・デザインを作るのは良いことだ」としたうえで,「例えば,TOPPERSのソフトウェアでリファレンス・デザインを作った後,第三者的な立場でその設計の信頼性を検証する機関が必要になるかもしれない.できれば,そこで使われるテスト・パターンをオープンにし,プラットホームとして共有できるようにしてほしい」と語った.
TOPPERSプロジェクトでは,2004年に「信頼性検討ワーキング・グループ」を発足している.このワーキング・グループは,宇宙航空研究開発機構(JAXA)からの依頼を受けて,TOPPERS/JSPカーネルの検証(MISRA-Cに基づく静的テスト,コード・メトリック評価など)を行っている.東陽テクニカの二上貴夫氏の講演では,この検証結果などが報告された.例えば,JSPカーネルのMISRA-Cによる検証を行った結果,かなり信頼性が高いことが確認されたが,改良できる部分もまだあったという.信頼性を維持するための今後の課題として,プロジェクト管理や構成管理,プログラミング標準などに関するルールの策定を挙げた.