組み込みソフト開発にも「Eclipse」の波(5/6 ページ)
エンタープライズ分野のJava開発ではすでにデファクトスタンダードとなった「Eclipse」。ソフトウエア開発を包括的にサポートするこの開発プラットフォームは、組み込みソフトウエアにも対応すべく着々と進化を続けている。本稿では、Eclipseの組み込みソフト開発向けプロジェクト「DSDP」の現状を概観するとともに、組み込みソフト開発において同プロジェクトが果たすであろう役割について解説する。
TmLプロジェクト
TmL(Tools for Mobile Linux)プロジェクトはDSDPの中では一番新しく、2006年12月に設立された。現在は、まだ開発プランの検討を行っている段階にある。
携帯機器向けのLinuxプラットフォームにおけるネイティブなC/C++アプリケーション開発者のニーズと、既存のEclipseプロジェクトとの間にはギャップがある。TmLプロジェクトはこのギャップを埋めるために設立された。具体的には、アプリケーション開発サイクル全体のサポート、複数のビルドターゲットのサポート、デバイスエミュレータのフレームワークの構築、エンタープライズアプリケーションにおけるエンドツーエンドのシミュレーション/テスト環境の構築などを目指している。
TmLがフォーカスしている領域は以下のようなものである。
・設計:モデリング
・開発:OS/ミドルウエア/アプリケーションのクロスコンパイル、モバイルデバイスのサービス、モバイルデバイスのシミュレーション
・デバッグ:クロスデバッグやデバイスのエミュレーションのサポート
・デプロイメント*7):アプリケーションの試験やコード署名
具体的には、以下のようなテーマへの対応に注力している。
・携帯電話向けLinuxエミュレータのフレームワーク:異なるデバイスエミュレータのアーキテクチャをサポートする汎用のフレームワーク、VMware、ユーザーモードLinux(UML)エミュレータ、QEmuエミュレータ、ほか
・エンドツーエンドのシミュレータ環境:デバイスエミュレータ、サービスシミュレータ、ネットワークノードシミュレータ
MTJプロジェクト
MTJ(Mobile Tools for the Java Platform)プロジェクトは、主に携帯電話機向けのJavaプログラム開発を行うための環境を構築することを目的としている(図5)。具体的にはデバイスやエミュレータのためのランタイム管理機能、J2ME(Java 2 Platform, Micro Edition)アプリケーションのためのデプロイメント/ビルド管理機能、モバイルデバイスのデバッギング機能、アプリケーション作成用のウィザード、UI(user interface)用のデザインツール、ローカライゼーションやモバイル機器におけるセキュリティに対応した拡張のためのフレームワークなどが提供される(図6)。
MTJプロジェクトからは2006年10月にMTJ Version 0.7がリリースされている。このリリースには、モバイル向けJava開発に必要な以下のようなキーファンクションが含まれている。
- ランタイム環境の管理(デバイスエミュレータと実機デバイスに対応)
- ビルドプロセス(パッケージングと署名のための拡張を含む)
- デプロイメント用のフレームワーク
- プロジェクト作成やクラス作成などの主要な開発機能
2007年9月に、正式版であるMTJ 1.0がリリースされる予定である。
eRCPプロジェクト
eRCP(Embedded Rich Client Platform)プロジェクトは、主に組み込み機器/携帯機器向けのリッチクライアントプラットフォーム(RCP)のサブセットを開発することを目的としている。同プロジェクトの歴史はDSDPよりも古く、2004年10月にテクノロジトッププロジェクトの下に設立された。その後、組み込み向けのプロジェクトを総括するDSDPプロジェクトが設立されたため、2006年6月にその傘下に移動した。
現在、eRCPプロジェクトからはeRCP 1.1がリリースされており、Nokia Series 80、Windows(デスクトップ版)、Windows Mobile、Windows CE 5.0 Professional向けのランタイムが提供されている。このリリースでは、以下のような機能追加/対応を行っている。
- OSGi(Open Services Gateway initiative)、eSWT(embedded Standard Widget Toolkit)+モバイル拡張、eJFace、eWorkbench、eUpdate、microXML
- RCPアプリケーションフレームワークモデルの利用
- 組み込み機器に適応させるために、RCPのサイズと機能を削減
- Java ME(Java Platform, Micro Edition)のCDC(Connected Device Configuration)/Foundation Profileでも実行可能にするためのコアコンポーネントへのフィードバック
- 異なる入力方式やスクリーン形式/サイズでも、アプリケーションのバイナリ互換性を待たせるためのコンポーネントの追加
今後、eRCPプロジェクトでは、組み込み機器向けJavaプラットフォームとしての機能の拡張と柔軟性の向上に取り組んでいく。また、Nokia S60、Linux Qt/Embedded、Linux GTKなどをベースとした機器もサポートしていく予定である。
脚注
※7…ソフトウエアを実際に使用するために行うさまざまな作業一般。配備とも呼ばれる。
Copyright © ITmedia, Inc. All Rights Reserved.