"タダ"だから使う「オープン・ソース」から,信頼性を備えたプラットホームへ ――TOPPERSカンファレンス2005

組み込みネット編集部

tag: 組み込み

レポート 2005年6月 1日

 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)との連携についての講演が行われ,同プロジェクトの開発成果に対する信頼性の検証についての言及があった.

p1.jpg
[写真1] TOPPERSカンファレンス
同カンファレンスのテクニカル・セッションのようす.開発者である名古屋大学の本田晋也氏自身がマルチプロセッサ向けのリアルタイムOS「TOPPERS/FDMPカーネル」について講演を行った.仕様の概要のほか,実装時の注意点を紹介した.

●FlexRayへの対応を視野に入れた自動車制御用RTOS

 本カンファレンスのテクニカル・セッションでは,自動車制御用のリアルタイムOS「TOPPERS/OSEKカーネル」についての講演が行われた(写真2).本リアルタイムOSは,欧州で広く採用されている自動車のECU(電子制御ユニット)間のインターフェース仕様「OSEK/VDX」に従って開発した.ソース・コードは,TOPPERS/JSPカーネルをベースにしている.ソフトウェア開発会社のヴィッツ名古屋大学 組込みリアルタイムシステム研究室が共同で開発した.

p2.jpg
[写真2] TOPPERS/OSEKカーネルに関する講演
講演者はヴィッツの服部博行氏.TOPPERS/OSEKカーネルの原型は,名古屋大学 組込みリアルタイムシステム研究室が開発した.これを同研究室とヴィッツが実際にECUで稼働するように改良した.MODISTARC検証(OSEK/VDXが定めたOSのテスト手法)やC言語のコーディング規約「MISRA-C」のチェックなどの品質保証については,名古屋市工業研究所やルネサス テクノロジの協力を得て行った.

 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)

p3.jpg
[写真3] OSEK COMのソフトウェア構成
CAN/LINに対応したデバイス・ドライバを用意している.移植性を容易にするため,共通部はすべてC言語で実装されている.

p4.jpg
[写真4] OSEC COMのデモンストレーション
二つの基板の間でCAN通信を行った.手前の基板は,CPUの代わりにICEを付けてタスク処理をパソコンで確認できるようにしている.なお,LINドライバは実装されているが,本カンファレンスの時点では検証段階だったため,デモンストレーションではCAN通信のみが行われていた.

 なお,OSEK NMについてはECUメーカによって,細部の仕様にばらつきがあるため,汎用的なソフトウェア部品を作るのは難しいが,要求に応じて随時対応していく予定.

 ヴィッツによると,ボディ系の制御に対応するためのタスク動作監視機能や,電力管理機能などを開発中だという.また,今後,一つのECUの上に複数のアプリケーションが実装されることも考えられる.このため,メモリ保護機能や時間保護機能(アプリケーションの実動作時間を監視しながら,プロセッサの実行時間を適切に配分する機能)を開発していくという.また,FlexRayに対応したミドルウェアの提供も考えている(写真5)

p5.jpg
[写真5] TOPPERS/OSEKのロードマップ(図をクリックすると拡大)
今後は,FlexRay対応製品の開発に着手する予定.

●TOPPERS OSに求められる信頼性

 本カンファレンスでは,トヨタ自動車 統合システム開発部の谷川 浩氏が,自動車におけるソフトウェア開発とJASPARの取り組みについて講演した(写真6)

p6.jpg
[写真6] トヨタ自動車の谷川 浩氏の講演のようす
自動車の電子制御化が進む中,「『自動車メーカは,ソフトウェアのことなど考える必要はない』という風習は変えざるをえない情況」にあると,谷川氏は言う.

 近年,自動車の電子制御化が進み,ソフトウェアの開発効率の向上が一つの課題となっている.谷川氏によると,従来の自動車に搭載されるソフトウェアは,機能単位に考えていればよかったが,ソフトウェアで実現する機能が増加するとともに,一つの機能の仕様変更が自動車全体のソフトウェアに波及するようになってきたという.「効率を上げるためには,再利用可能な階層化や部品化が必要となってくる.階層化を行うには,まずトップダウンの開発プロセスをとり,仕様定義をきちんと行わなければならない」(谷川氏).

 こうした中,2004年9月にJASPARという業界団体が設立され,トヨタ自動車もこれに参画している.「JASPARの目的は,アプリケーション・ソフトウェアの可搬性を上げること」(谷川氏).現在はFlexRayの回路構成やソフトウェア部品などの開発ガイドラインを策定する活動を行っている.2005年後半にはFlexRay以外の車載ネットワーク規格についても,ワーキング・グループを立ち上げるという.

 アプリケーション・ソフトウェアの可搬性を上げるためには,共有部分であるプラットホーム作りが重要になる.谷川氏は,TOPPERSプロジェクトとの連携について,「さまざまな会社の知見を提供しながら,オープンなTOPPERSのソフトウェアを用いて,リファレンス・デザインを作るのは良いことだ」としたうえで,「例えば,TOPPERSのソフトウェアでリファレンス・デザインを作った後,第三者的な立場でその設計の信頼性を検証する機関が必要になるかもしれない.できれば,そこで使われるテスト・パターンをオープンにし,プラットホームとして共有できるようにしてほしい」と語った.

 TOPPERSプロジェクトでは,2004年に「信頼性検討ワーキング・グループ」を発足している.このワーキング・グループは,宇宙航空研究開発機構(JAXA)からの依頼を受けて,TOPPERS/JSPカーネルの検証(MISRA-Cに基づく静的テスト,コード・メトリック評価など)を行っている.東陽テクニカの二上貴夫氏の講演では,この検証結果などが報告された.例えば,JSPカーネルのMISRA-Cによる検証を行った結果,かなり信頼性が高いことが確認されたが,改良できる部分もまだあったという.信頼性を維持するための今後の課題として,プロジェクト管理や構成管理,プログラミング標準などに関するルールの策定を挙げた.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日