宿命的な,過剰な重複投資と多様性

 ITRON仕様が国内でデファクト標準となることができたのには,大きく二つの理由がある。一つは,産業界のニーズを的確に把握し,それに応える標準仕様を提示したこと。もう一つは,ITRON仕様,特にμITRON仕様には,有力な競合相手がなかったことである。VxWorksやpSOSなど米国製の有力なリアルタイムOSは存在したが,米国製のリアルタイムOSの多くは航空宇宙分野や軍事機器分野などの大規模な組み込みシステム向けに開発されたものが多かった。国内で重要となるコンシューマ機器(AV機器や家電製品など)のニーズに合致しなかった。こうした分野を主なターゲットとしてITRON仕様を策定したことが成功につながった。

 ところが,状況が変わってきた。コンシューマ機器の高機能化・複雑化とソフトウェアの大規模化が急速に進んだ。携帯電話のような“小さい”システムにも,非常に大きなソフトウェアが搭載されるようになった。こうした背景から,ITRON仕様を大規模なソフトウェア開発にも適用できるようにすることが求められている。

 では何が足りないのか。大きく二つある。

 まず挙げられるのが,ミドルウェアの充実である。組み込みソフトウェアが大規模化するなかで,どのような組み込みシステムにも共通するハードウェア資源を扱うリアルタイム・カーネルだけでは,アプリケーションとして開発しなければならない部分が多すぎる。そこで,周辺デバイスを扱うための機能(プロトコル・スタックやファイル・システムなど)も,カーネルと一緒に提供して欲しいということになる。

 もちろん,ITRON仕様OS向けのミドルウェアは存在する。例えばTCP/IPプロトコル・スタックは,10種類以上のものが開発・販売されている。ファイル・システムも,5種類は下らない。ところが分野の狭いものとなると,全く存在しない場合が多い(社内向けで,外販しないことも多い)。1社ですべてを開発していれば(プロプライエタリのOSなら),TCP/IPプロトコル・スタックのように10以上も同種のソフトを重複開発するというムダは起こらなかったはずだが,この状況は標準化をミッションとするITRONの宿命かもしれない。筆者はこれを,「過剰な重複投資」の問題ととらえている。

 第2は,ITRON仕様準拠のOSといっても各社各様で,機能に違いがあることだ。このためITRON仕様OSで動くミドルウェアが存在したとしても,すべてのOSでそのまま動作するというわけではない。同様のことはソフトウェア開発環境についても言える。筆者はこれを「過剰な多様性」の問題ととらえている。

 こうした点から,OS単体は安価でも,必要なミドルウェアやソフトウェア開発環境を購入したり,それらをインテグレーションすることを考えると,ITRON仕様OSは低コストで導入できるとも言えなくなる。

T-Engineプロジェクトなど,新展開へ

 上記の課題を解決するために,ここ数年,新機軸が模索されている。

 まずトロン協会は,これまでの標準化の延長として,メモリ保護などの保護機能をITRON仕様に導入するための拡張仕様や,デバイス・ドライバの標準化などに取り組んでいる。

 大きい展開としてはT-Engineのプロジェクトがある。T-Engineプロジェクトにはいくつかの側面があり一言で説明するのは難しいが,著者なりのとらえ方で以下に説明する。

 連載の第1回で,携帯電話を代表として,汎用システム的な性格を持った組み込みシステムが登場してきたと述べた。そして,このような領域では,組み込みシステムの特性のいくつかが当てはまらないと説明した。こうなると,旧来の組み込みシステムの特性に合うように開発されたリアルタイム・カーネルは,要求に合わないということになる。このことから連載の第2回では,汎用システムに近い性格を持った組み込みシステムの分野では,汎用OS型のリアルタイムOSがシェアを伸ばすだろうと予測した。

 ソフトウェアの大規模化が著しいのは実はこの分野であり,短期間で製品を開発するには,リアルタイム・カーネルが得意とする「アプリケーションごとの作り込み」をやっている時間的な余裕はない。この結果,携帯電話向けプラットフォーム(ハードウェア+OS)は近い将来,パソコンのプラットフォームと同様に2~3種類に絞られるのではないかと考えている。

 T-Engineは,旧来の組み込みの概念から外れる新興分野をメイン・ターゲットとして,標準的なプラットフォームを提供しようというプロジェクトである。ITRON仕様ベースのカーネルに,各種のミドルウェアなどを載せ,携帯端末などのアプリケーション・ソフトウェアを容易に開発できるようにすることを目指している。ここではミドルウェアの互換性は極めて重要であり,可搬性を保つための規定や,カーネルの派生を制限する方策が盛り込まれている。

 T-Engineを“Embedded BTRON”と称する方もいる。ある側面を的確に言い当てた表現である。実際,T-EngineのOSであるT-Kernelは,BTRONのソフトウェア資産をベースに開発されている。パソコンと組み込みシステムの中間領域を攻めるために,パソコン向けに開発してきたBTRONのソフト資産を生かそうというのは,自然なアプローチである。