JNIBユーザーズガイド ― 第2章 システム・プログラミング ―

2.2. アプリケーションの構築 (Building Applications)

JNIBの Java ME プラットホームは、完全は静的アプリケーションとして、もしくは、静的と動的を組み合わせたアプリケーションとしてプログラミングできます。 静的アプリケーションは アブソリュート・ロード・モジュールとして 完全にリンクされることを特徴としています。 動的にロードされるアプリケーションは、指定されたソースからアプリケーションjarファイルをクラスロードするために静的なコンポーネントを必要とします。 以下のセクションでは、aJileツールの連携と構築プロセスの概要について説明します。 アプリケーション構築の詳細については「JNIB チュートリアル (JNIB Tutorial) 」の方で説明しています。

2.2.1. aJileツール連携 (aJile Tool Chain)

ほとんどのJavaの実装はランタイム・クラス・レゾリューションに依存しますが、しかし、構築時点で すべての必要なクラスが存在していればその必要はありません。 aJileの スタティック・リンカ(Slink) は、標準のJavaクラス・ファイルにおけるクラス間の依存関係を計算し、それらのうち必要とされるクラスのみによるメモリイメージを作成します。 「Slink」は未使用のメソッド、フィールド、定数(constant)も排除しますので、Javaアプリケーションに必要なメモリを大幅に削減できます。 Javaの安全志向、特にポインタの扱いを排除したことが、アプリケーション構築時の このような解析を可能としたことに役立っています。

「Slink」には、割り込みハンドラへの名前付きJavaメソッドのマッピングと同様に、拡張バイトコードによるの名前付き静的メソッドの代用機能などを含め、たくさんの機能があります。この拡張バイトコードによるの名前付き静的メソッドの代用機能は「off-the-shelf コンパイラ」(Sun Microsystemsらが提供している通常のJavaコンパイラのこと)の利用を可能としています。 つまりリンカのみが aJ-100の拡張バイトコードについて知っている必要があり、コンパイラは そのことに一切関知する必要がないからです。

図2-1 は 静的アプリケーション構築に関するaJileの開発環境のツール連携を示しています。 この環境では、ボーランド社のJBuilder や シマンテック社のVisual Cafe'、Eclipse などのような Java標準クラスファイルを生成する「off-the-shelf compiler」(通常のJavaコンパイラ)の利用を可能とします。

図 2-1 aJileの開発環境のツール連携

アプリケーションのクラス・ファイルの準備ができると、Slink を使ってアプリケーションを構築することができます。 Slink はコマンド・ライン上のツールですので、アプリケーション構築の初期設定やセットアップを容易にするために「JEM Builder」と呼ばれるグラフィカル・ユーザ・インターフェースのソフトが提供されています。 JEM Builder は、JNIB等のターゲット機器やアプリケーションの要求を満たすためのプロパティー設定ができます。 図中の「Target Configuration Data」は、JNIBシステムのプロパティーを指定しています。 また、図中の「Project Configuration Data」には、アプリケーションが指定したドライバー、ランタイム、プロパティー 等が記述されています。 JEM Builder は アドレス・マッピングや他の統計情報のファイルを基にして aJileロード・モジュールを作成するために Slink を直接起動します。

アプリケーション・ロード・モジュールをJNIBターゲットシステムへダウンロードするには、
開発者の意向により、以下のような方法が選択できます。

シャレード(Charade) デバギング・セッション:

シャレード(Charade) は フル装備の低レベルバイトコード・デバッガーです。 シャレード(Charade) は、リセット、ステッピング、ステップ・ツー、ステップ・オーバー、実行ブレークポイントやデータ・ブレークポイントの設定 等、アプリケーションの実行を完全にコントロールできます。 また、バイトコード・シーケンス、プロセス・スタック、オブジェクト・ビュー、ヒープ・スタック、ポーリング 等を表示できます。 詳しくは、「 シャレード ユーザーズ・ガイド (Charade User's Guide) 」を参考にしてください。

JPDA シンボリック デバギング・セッション:

JPDAに対応しているIDEは、アプリケーションのロードおよび実行に利用できます。 JEMデバク・ドライバーは Eclipse と NetBeans とで使えることがテストされています。 標準のディバグ機能として、メソッドでのブレークポイント、ステートメント、変数の調査 等が可能です。 詳しくは、「 JEM デバグ・チュートリアル (JEM Debug Tutorial) 」を参考にしてください。

上記の両方のオプションにおいて、JNIBとの接続には開発キットに付属するJTAGケーブルが必要です。 また、JNIBターゲットシステムとJTAGポッドで接続するホストPC側にはパラレル・ポートが必要です。

JNIBユーザーズガイド 目次

  • 第4章 問題解決 (Trouble Shooting)

関連情報・リンク

Also available in: HTML TXT