ESECリポート(その2):開発スタイルの進化を実感

 昨日に引き続き、第10回 組み込みシステム開発技術展(ESEC)のリポートをお届けする。今回も会場内で気になった展示物を紹介したい。

アプリ制御も行うUIマネージャー

 まずは、富士通の組み込み機器用ユーザーインタフェース実行基盤「Inspirium UIマネージャー V1.0」から(写真1)。今回のESECに合わせて発表された新製品で、アプリケーションのユーザーインタフェースとロジックの分離と並列開発を可能にする。この手の製品は数多くあるが、複数アプリケーション実行時の調停・制御が行えることがこの製品の特徴となっている。しかも、画面だけでなく音声も制御できる。

写真1:Inspirium UIマネージャー V1.0

 例えば、カーナビの経路案内アプリと音楽再生アプリをそれぞれ個別に開発した場合、経路案内を行う際に再生中の音楽を一時停止し、案内終了後に音楽再生を再開するといった割り込み制御をUIマネージャー側で行える。アプリケーション側に割り込み処理を実装する必要がなくなるので、ロジックを簡素化することができるそうだ。

 ちなみに、UIの定義はXMLで記述するため、動作環境を選ばすに利用することができる。スキンを置き換えて、見た目を変更するといったカスタマイズも容易だ。

組み込みにも仮想化の波

写真2:VirtualLogix VLX

 写真2は、Intelのブースで展示されていたVirtualLogixの「VLX」のデモの様子。VLXは組み込み用途に特化した仮想化ソフトウェアだ。

 例えば携帯電話なら、通話制御はリアルタイムOSで、ゲームなどのコンテンツはLinuxで処理するといったことが1つのCPUで可能になる。また、ルータやスイッチなどの通信機器の場合、例えば、複数のOSを混在させることで、1台の機器でさまざまなプロトコルに対応させられる。

 CPUコアや周辺デバイスは1つのゲストOSで占有することも、複数のゲストOSで共有することもできる。デバイスを占有する場合はゲストOSのドライバで直接制御することができ、共有する場合は1つのゲストOSのドライバで実際の制御を行い、他のゲストOSからはVLXが提供するPeer Driverを介して利用するかたち。Peer Driverでデバイスを抽象化することができるため、本来そのOSが対応していないデバイスも利用可能になる。なお、デュアルコアXeon×2個のデモ機では、VxWorks 4つ(それぞれシングルコアで動作)とLinux 1つ(4コアで動作)が実行されていた。仮想化によるオーバーヘッドはCPU使用率で2~3%とかなり低いようだ。

最新ARM11搭載のアルマジロ

写真3:Armadillo-500(ベースボード付き)

 Linux対応ARM搭載CPUボード、Armadilloでお馴染みのアットマークテクノは、新製品「Armadillo-500」を展示(写真3)。この製品では、CPUにベクタFPUやMPEG4エンコーダ、ビデオ出力、オーディオインタフェースなどを内蔵する最新のFreescale i.MX31L(ARM11コア、400MHz)を搭載することで、従来よりも適応分野が拡大されている。メモリは64MBで、FlashメモリがCPUボートに16MB、ベースボートに256MBという構成である。

 なお、アットマークテクノはLinux版の開発セット(本体+ベースボード+開発環境)を提供しているが、Windows Embedded CE 6.0版の開発セットも横河ディジタルコンピュータから提供されている。Windows Embedded CE 6.0に対応するARM11搭載ボードは、いまのところこれだけとのことである。

軽量高画質な動画コーデック

写真4:MobiclipとH.264の比較デモ

 フランスに本社のあるACTIMAGINEは、組み込みに適した高圧縮高画質の動画コーデック「Mobiclip」を展示。同じスペックのPC(1.6GHz/Celeron M搭載機)2台でH.264とMobiclipのそれぞれで圧縮したフルHDサイズ(1920×1080)の動画を再生するデモを行っていた(写真4)。H.264の動画(ビットレート8Mbps)がCPUを使い切ってコマ落ちしている一方で、Mobiclipの動画(6Mbps)のCPU使用率は40~60%程度。コマ落ちもなく滑らかな再生が可能。

 Mobiclipは、海外ではNokiaやSonyErricsonの携帯電話に向けた動画配信で使用されているいるほか、国内でもNintendo DSタイトル(「ファイナルファンタジーIII」や「しゃべる!DSお料理ナビ」など)で使われているそうだ。

PLCを快適に使うには

写真5:PLC経由でHD動画をストリーミング

 昨年末に製品が登場したばかりのPLC(電力線通信)は、ホームネットワークの担い手として期待されている技術だ。高速(200Mbps)なUPA方式のPLCチップを製造するDS2(Design of Systems on Silicon)のブースでは、PLC経由でHD動画をストリーミング再生し、その高速さをアピールしていた(写真5)。

 ただし、規格上は200Mbpsだが、実効速度は理想的な環境でも90Mbps程度、一般的な家庭では40~50Mbps。ノイズが多いと10Mbps程度に低下してしまうそうだ。面白いことに、ノイズの発生源としては、電子レンジや冷蔵庫、エアコンなどよりも携帯電話の充電器のほうが影響が大きいという。PLCアダプターのユーザーはアダプターと同じコンセントに充電器を接続していないかどうかチェックしてみるとよいだろう。

組み込みLinuxの起動時間を短縮

写真6:TP InstantBoot。適用前と適用後の比較デモ

 TriPeaksの「TP InstantBoot」は、組み込みLinuxの起動時間を短縮するソフトウェア(写真6)。専用のブートローダーとドライバで構成されている。あらかじめ起動完了時のシステムの状態(CPUのレジスタ値など)とメモリイメージのスナップショットを用意しておき、電源投入時にそれを展開することで起動時間の短縮を図る製品だ。PCのハイバネーション機能を組み込み機器向けにアレンジしたものと考えればよいだろう。

 なお、デバイスの性能やスナップショットの保存先/サイズによって効果は異なるが、TP InstantBootを適用することで、起動時間を5分の1程度に短縮することができるそうだ。

組み込みもUMLで開発

写真7:オージス総研のブース

 最後に開発手法の話題を1つ。組み込み分野でコンサルティング事業を展開するオージス総研は、「実践型UMLモデルデータ開発」と題して、ユーザー企業による事例紹介を行い、多くの聴衆を集めていた(写真7)。UMLモデルを使った開発プロセスを導入することで、開発期間を短縮し、開発効率を改善する(手戻りを少なくする)というのがその主眼である。

 また、組み込み分野でも近年、インドや中国の企業に実装作業を委託するオフショア開発が増えているが、UMLモデルベースの開発には、現地の開発者とのコミュニケーション上のギャップを埋めるという効果もあるという。従来のやり方で仕様書を作成しても、言葉の壁のせいでニュアンスがうまく伝わらないことがあるが、UML記法を開発者間の共通言語として利用することで、製品のイメージを正確に共有することができるようにそうだ。

 以上、第10回 ESECの会場の様子をリポートした。筆者は組み込みの開発に、「アセンブラでゴリゴリ」といった泥臭いイメージを持っていたのだが、富士通のUIマネージャーやオージス総研のプレゼンなどを見て、そうした開発スタイルが過去の話になってきたことが実感できた。