アットマーク・アイティ @IT@IT自分戦略研究所QA@ITイベントカレンダー+ログ
 @IT > 組込み開発の常識を変えるintentの衝撃
 
@IT[FYI] 企画:アットマーク・アイティ 営業企画局
制作:アットマーク。アイティ 編集局

掲載内容有効期限:2005年5月31日

 
  組込み開発の常識を変えるintentの衝撃
 
〜ユビキタスを実現する最先端テクノロジ〜

英国Tao社の組込み向け開発・実行環境「intent」は、OSやCPUに依存しない真にユニバーサルな環境を提供する。高速なJava VMや豊富なマルチメディアライブラリもintentの魅力だ。OSを知り尽くした富士通プライムソフトテクノロジの充実したサポート体制も心強い。

   岐路に立つ組込み開発

 携帯端末やデジタル家電の市場が拡大するにつれて、組込みソフトウェアに注目が集まっている。いまや、携帯端末やデジタル家電の優劣を決める重要な要素が組込みソフトウェアの機能と品質である。最新の携帯電話などに搭載されている組込みソフトウェアの多機能性とそれに伴う複雑性は「Windowsに匹敵する」とさえ指摘され、デバイスメーカーは組込み分野に膨大な開発リソースをつぎ込んでいる。

 しかし、この分野は短い製品サイクルの中で高機能の実現が求められており、どのメーカーも開発リソースがひっ迫しているのが現状である。開発工数の急増に加え、製品ごとに異なるCPUやOSの仕様を熟知した技術者を確保し、振り分けなければならないからだ。例えば、組込みOSとしてLinuxを採用するケースが増えているが、技術者はLinuxに精通しているだけでなく、LinuxのミドルウェアやStrongARMやMIPSなどのCPUについても深い知識が求められる。当然、こうしたハイレベルな技術者は少ない。

 また、組込み機器でもリッチなGUI環境が必須になっている。だが、X Window Systemでは重過ぎるため、より軽く少ないリソースで動作するGUI環境が求められている。

 今後も携帯端末やデジタル家電の組込みソフトウェアは高度・複雑化していくだろう。検証作業も膨大となり、製品回収につながるような致命的なバグを抱えるリスクも高まる。一方、CPUや組込みOSも進化を続けており、現時点で最適なプラットフォームが1年後も最適とは限らない。しかし、この世界においてアプリケーションを環境ごとに書き直している猶予は与えられていない。組込み分野では、特定のプラットフォームに縛られることなく、抜本的に生産性を高める方法の確立が急務なのである。

   ユニバーサル実行環境を実現するintent

 組込みソフトウェア向けの標準プラットフォームを求める声が大きくなっている。そうした背景の中で、国内家電メーカーやISVを中心に、OSやCPUに制約されない実行環境の確立を目的に「オープン・コンテンツ・プラットフォーム協議会」が設立された。同協議会が注目している組込み向けプラットフォームが、英国Tao社の「intent」である。

 Tao社はPC用ゲーム開発で世界的に名を馳せたクリス・ヒンズレー氏らが1992年に創業した企業だ。1990年代初めまで、「パソコン」には現在よりも多くのアーキテクチャが存在しており、より大きな市場を獲得するには複数のアーキテクチャに移植する作業が必要だった。ヒンズレー氏らはこれを何とか効率化できないかと考え、OSやCPUに制約されないソフトウェア実行環境「Elate」を開発した。さらに、携帯電話やデジタル家電に向けてElateにマルチメディア実行環境やJavaの高速実行環境を加えたintentを誕生させた(以下、intentと総称)。

画面1 intent実行画面。左側の立方体はウィンドウレスで画面中を漂い、ウィンドウにはアルファブレンディングが多用されているのが分かる(画像をクリックすると拡大します)

 intentの最大の特徴は、仮想プロセッサ(VP:Virtual Processor)方式により、開発言語(C/C++、Java、アセンブラなど)やOS、CPUに依存しない真にユニバーサルなソフトウェア実行環境を作り出すことだ。intentはネイティブOSとしてさまざまなCPU上で動作するほか、さまざまなホストOS上でも動作する。組込み機器に利用されているプラットフォームほぼすべてに対応しているといっても過言ではない(表1)。

CPU
 
ホストOS
ARM6/7/9   iTRON
StrongARM   Linux
TI OMAP   VxWorks
ColdFire   EPOC/Symbian OS
x86   OS-9000
XScale   Embedded Linux
MIPS R3000/R4000/R5000   Windows 95/98/NT/2000
SH-3/4   Windows CE
V850   Windows Smartphone 2002
EMMA    
表1 幅広いプラットフォームに対応するintent

 C/C++、Javaなどで記述されたプログラムはintent上でコンパイルされ、開発言語の違いを吸収したVPバイナリコードとなる。プログラムを実行する際は、そのVPバイナリコードを一括して対象CPUのネイティブコードにトランスレート(変換)する。コードを逐次変換するインタプリタ方式とは比較にならないほど高速なのはもちろん、CPUネイティブコードを直接扱う場合と比べてもほとんど見劣りしない。

 intentは、Javaが掲げる「Write Once, Run Anywhere(一度書けばどこでも動く)」をJavaより早く実現したのである。実際、AmigaやMSX用の古いアプリケーションが、WindowsやLinuxをホストOSとするintent上で稼働している例もある。

 intentが実現したVP方式は、組込み分野にとって大きな意義を持つ。技術者は、OSやCPUの種類を意識することなくソフトウェア開発に専念できるからだ。しかも、必要なスキルはC/C++、Javaなど、一般的なものでよい。これまで職人的な領域だった組込み分野のハードルを下げることが可能だ。デバイスメーカーは開発リソースを有効活用できるため、生産性を大幅に高められる可能性がある。

 もう1つ重要なポイントは、前述したGUI環境の問題を解決できることである。intentはX Window Systemのように過大なリソースを必要としない。しかも、PC上で開発したGUIをそのまま組込み機器で実行することが可能なのである。

intentの動画デモ(Flash)

   開発環境としてのintent

 Java実行環境を実装するintentは、組込み分野に大きな恩恵をもたらす。intentが、「業界最速」との定評があるJava VMや高速なマルチメディアライブラリを豊富に備えるからである(図1)。

図1 intentの実装例

 情報端末やデジタル家電にJavaを採用するケースが増えているが、intentであればJavaプログラムを高速に実行できる。もともとJavaには速度面に弱点があり、これを解決するために高速なCPUを採用する必要に迫られた。これは製造原価上昇による価格競争力の低下、消費電力増大による稼働期間の短縮(モバイル機器など)へとつながる。intentであれば、CPUを変更することなくネイティブバイナリ並の速度でJavaを実行することが可能だ。

 また、マルチメディアライブラリはストリーミング、オーディオ、グラフィックの機能を網羅し、MPEG-4など各種マルチメディア規格のコーデックに対応する。

画面2 intent上でPersonalJavaとMIDPを利用(画像をクリックすると拡大します)

 intentは、実行環境であるとともに開発環境も提供する。WindowsやLinux上でC/C++、Javaを使ったプログラム開発が可能なプラットフォーム開発用のSDK、ソフト開発用のADKが用意されている。

 intentを全面的に採用するデバイスメーカーは、統一した実行・開発環境のもとで高い生産性を得るだけでなく、異なるOS、CPUで動くデバイス間でも共通したソフトウェア仕様を実装できる。また、intentは500kbytes程度のプログラムから、最新の情報端末で稼働する数Mbytesにもおよぶメディアリッチなプログラムまで実装できるスケーラビリティがある。これにより、デバイス間でのプログラム移植も容易である。intentを搭載したデバイス同士ならば、ネットワークを介してプログラムを交換して相互に実行できるので、ユビキタス用途の開発にも役立つ。デバイスメーカーは、製品ジャンルを超えた製品戦略を取ることも可能なのだ。

   マルチメディア機能を強化したintent2

 次バージョンの「intent2」は、GUI開発の柔軟性とマルチメディアライブラリがさらに強化されている(図2)。

図2 さまざまな機能を実装するintent2(画像をクリックすると拡大します)

 多岐にわたる強化点の中で特筆すべきは、新たに採用されたブラウザ機能「Qi」である。XHTML 1.0やDHTML 1.0、XML 1.0などの最新仕様に対応しており、組込み用途でありながらInternet ExplorerなどPC向けWebブラウザと同等の機能を実現している。しかも、カスタマイズしたGUIを実装できる。また、さまざまな開発言語で記述したオブジェクトを実行可能なスクリプティングインターフェイスを装備し、さまざまなプログラムを走らせることもできる。

画面3 intentの画面。左上のWebブラウザがQi(画像をクリックすると拡大します)

 マルチメディア機能の強化では、MIDIやMP3、WAVといった音声フォーマットのデコードをソフトウェアで実現した。激しい製造コスト削減と薄型軽量競争にさらされている組込み機器にとって、マルチメディア機能をハードウェアではなくソフトウェアで処理できる点は、大きなアドバンテージとなる。

 ビジュアル面では、3Dやベクターグラフィック、ビデオストリーミングに対応。2つの画像を透明合成するアルファブレンディングなどの特殊描画機能をサポートしたライブラリも追加されており、独自のGUIも容易に開発できる。J2MEの最新技術仕様の取り込み、ゲームエミュレータの(ISVからの)提供など、より付加価値の高い製品開発が可能になっている。

   国内家電メーカーがintentに強い関心を示す

 これまでに説明したとおり、intentは組込み分野に革新的な環境をもたらす。実際、ヨーロッパではスマートフォン(大きなカラーディスプレイを搭載し、インターネット機能を強化した携帯電話)やデジタルテレビにintentが採用され始めている。

 国内メーカーも強い関心を示している。京セラが発売するJavaプラットフォームPDA「PocketCosmo」は、2002年5月に発売された初代製品からネイティブOS/Java実行環境としてintentを採用している。また、ある大手家電メーカーもDVDレコーダやインターネットテレビへintentを採用し始めた。水面下では、多くのデバイスメーカーがintent採用に向けた評価テストを進めており、今後は採用に拍車が掛かりそうだ。

   富士通プライムソフトテクノロジがintentを全面サポート

 国内メーカーがintentに強い関心をし始めたのは、その機能への高い評価だけでなく、充実したサポート体制を評価している面も見逃せない。組込み分野では、ベンダ側のサポート体制が確立していなければ、デバイスメーカーが新しい技術を採用することはあり得ない。

 その点、intentは信頼度が高い。国内唯一の正規サポートセンターを運営するのが、富士通プライムソフトテクノロジだからだ。同社は、富士通のOS研究開発を行うために分離独立した富士通愛知エンジニアリングと、ネットワークOS関連の分野で高い技術力を誇った富士通パソコンラボが合併して誕生したという経緯がある。それだけに、OS技術については強い。国内のITベンダとしていち早くintentの革新性を理解し、Tao社との信頼関係を築いてきた。

 富士通プライムソフトテクノロジは現在、intentをソースコードレベルで熟知した専門スタッフによるサポート体制を完備している。さらに、評価支援や技術者トレーニング、カスタムポーティングなど、幅広いサポートメニューを持つ。デバイスメーカーは同社とサポート契約を結べば、ワンストップでintentに関するスキルセットを準備でき、開発途上で問題が発生した場合でもスムーズに解決できるというわけだ。

 情報端末やデジタル家電が相互接続するユビキタス時代が到来しつつある。ますます、組込み分野の重要性が高まっている。真のユニバーサル環境を実現し、高い表現力を持つintentは、富士通プライムソフトテクノロジの手厚いサポートのもとに、開発リソースがひっ迫した組込み分野に福音をもたらすだろう。

ユビキタスを実現する最先端テクノロジ
  第1回 Active RFIDで実現する次世代システムの可能性
  第2回 組込み開発の常識を変えるintentの衝撃
  第3回 組込みLinuxを真のリアルタイムOSに
  第4回 ESECリポート:最先端組み込みソリューションを一挙紹介

 
関連リンク集
「組込みLinux向けサポートサービス」の販売開始(プレスリリース)

アクティブ型RFID(無線ICタグ)を利用した位置検知システム「Local Positioning System(LPS)」の販売開始(プレスリリース)

第7回 組込みシステム開発技術展 ESEC(イーセック)出展報告

視覚障害者の方たちへのバリアフリー情報配信実験

国産マネジメント型Linux OS 「Nature's Linux」を活用したビジネスアライアンス「Nature's Linux Alliance」設立のお知らせ(プレスリリース)

宅配便の最短配達サポートシステム「SAITANDePo」

一押しプロダクト
医療機関のリスクマネージメント運用支援システム 「SafeProducer」

セキュアなモバイルシステムを構築 [pTransfoundation」

ソフト・ハードの資産管理 「パソコン管理人」

機密情報流出を完全遮断 「ディスク消去人」

大切なデータを誤って削除してしまった 「かんたんファイル復旧」


</comment> <tr> <td bgcolor="#EEEEEE"><font size="2"><a href="javascript:KeepIt();"> <img src="/club/keepoint/images/ico_kpt.gif" alt="kee&lt;p&gt;oint保存" border="0" align="absmiddle" width="24" height="18">kee&lt;p&gt;ointで保存</a></font></td> </tr> <comment>

 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ