投稿
戸塚 英臣 | (日本大学理工学部情報教育研究センター) |
藤井 利江子 | (日本大学理工学部情報教育研究センター) |
鈴木 潔光 | (日本大学理工学部情報教育研究センター) |
1.はじめに
近年、携帯電話の処理速度の向上、液晶画面の大型化、Javaによるユーザ独自のプログラムが動作可能となったことで、携帯電話を情報端末として教育現場で活用しようという動きが多数報告されている。他方、情報機器やネットワーク機器の価格やネットワークインフラ利用料等の低下に伴い、大学の計算機演習室の拡充が行われるようになってきた。しかし、すべての教室に情報機器が設置されている訳ではなく、情報機器を用いた授業をすべての教室で行うことはまだ難しい現状である。理工学系の教育現場では、グラフ描画が必須であり、情報機器によるグラフ描画は、従来の黒板等を用いたグラフ描画にはない多くの利点がある。これらの観点から携帯電話を用いた教育支援は大きな可能性を秘めていると言える。しかし、Javaの特徴であるプラットフォーム非依存性が携帯電話キャリア間で保たれていないため、携帯電話キャリア毎にアプリケーションを開発する必要がある。この論文では、携帯電話上の教材を作成する上での注意点や問題点について報告する。
2.携帯電話上のJavaについて
JavaはSun Microsystems社の開発したオブジェクト指向言語であり、その主な特徴はプラットフォーム非依存や高いセキュリティである。現在のJavaの仕様は、J2SE(Standard Edition)、J2EE(Enterprise Edition)、J2ME(Micro Edition)の三つに分類される。J2SEはJavaの標準環境で、PCで使われているJavaである。J2EEはJ2SEのAPI(Application Program Interface)に加え、企業向けにEJB(Enterprise Java Beans)やServletなど主にサーバ側で使用する機能拡張がなされている。J2MEは家電や組み込み機器に対応するためにJ2SEから機能を削ったもので、携帯電話に搭載されているのがこのバージョンである。J2MEはさらにCDC(Connected Device Configuration)とCLDC(Connected Limited Device Configuration)という二つの想定環境(コンフィギュレーション)に分かれており、前者はカーナビや高性能PDAといった32ビットCPUと十分なメモリを持った環境を、後者は携帯電話やネットワーク家電、通常のPDAなどの、低速なCPUと少ないメモリからなる環境を対象としている。コンフィギュレーションはJava仮想マシンと最小限のAPIだけを持ち、デバイスの種類ごとに定義されたプロファイルと呼ばれるAPIやクラスライブラリを付加して機能を補っている。
3.携帯電話上のJavaとその互換性について
国内における携帯電話のシェアはvodafone社、au社、DoCoMo社の3社で9割を超えている。各社の端末ではvアプリ、EZアプリ、iアプリと呼ばれるJava実行環境を利用することができる。
図1にvodafone、au、DoCoMoが実装するJava実行環境の模式図を示す。下のレイヤからHardware、RealtimeOS、NAI(Native
Application Interface)、CLDC、KVM(K Virtual Machine)の部分までが共通点であることが判る。vodafoneとauのJavaアプリケーションはCLDCと呼ばれる基盤のJavaプラットフォーム上で、MIDP(Mobile
Information Device Profile)と各社が独自に提供するJSCL(J-Phone Specific Class Libraries)とKDDI
Profileを用いて作成されている。独自のプロファイルはMIDPの機能を補うためのものであり、このプロファイルの違いがvodafoneとauの互換性を失わせている。基礎工学数学用の教育コンテンツを作成する上で必須の数学関数ライブラリはこれらの独自プロファイルによって提供されている。そのため、数学関数ライブラリを独自に用意し、これとMIPDだけを使って教育用コンテンツの開発を行えば、vodafoneとauで互換性のあるコードの開発が行える。一方、DoCoMoのJavaアプリケーションは、CLDC上にDoCoMo独自のDoJa(NTT
DoCoMo Profile)と呼ばれるプロファイル群を用いて作られている。このDoJaは他社が使用するプロファイルとまったく異なるため、DoCoMoのJavaアプリケーションはvodafoneとauとはまったく互換性がない。
図1 Java実行環境
4.工学基礎数学教材について
3節で述べたように、数学関数ライブラリを独自に用意すれば、vodafoneとauの互換性を保つことが可能である。そこでvodafoneの独自拡張APIである数学関数クラスのFixedpointクラスとauの独自拡張APIである数学関数クラスのCalcクラスを比較し、両者で必要な機能を備えた自作の数学関数クラスを作成した。これをMFPクラスと呼ぶ。このMFPクラスはvodafoneのJSCLで定義されている固定小数点演算機能を提供するFixedpointを手本として作成され、四則演算、三角関数、逆関数の演算を可能とする自作クラスである。
vodafone用に開発されたフーリエ級数ならびにリサージュ図形を描画するアプリケーションを、MFPクラスを用いて修正を行った結果、auの端末で動作させることができた。ただし、動作確認はau社が提供するエミュレータ上で行った。図1にvodafoneとauのエミュレータ上で開発したフーリエ級数アプリケーションが動作している様子を示す。図2から、同一プログラムがエミュレータ上で同様の動きをすることが判る。
図2 動作画面
5.通信機能を用いたアプリケーションについて
各携帯電話キャリアの端末は、HttpConnectionクラスを用いてHTTP通信を行うことができる。これらのクラスは、DoCoMoの場合はDoJaに、vodafoneとauの場合はMIDPにそれぞれ定義されている。
HTTP通信を用いる教材として、図3に示すようなDoCoMoの携帯電話で動作する電子英単語帳を作成した。この電子英単語帳は表示された英単語の和訳を入力して、その正誤を判定するアプリケーションであり、これを使えば登下校などのちょっと時間に英単語の自習が可能である。
このアプリケーションはプログラムと英単語のデータからなり、サーバから新しい英単語のデータをダウンロードすることで新しい英単語を学習することができる。DoCoMoの端末にはScratchPadと呼ばれるユーザが利用できるデータ領域があり、機種によって異なるがその容量は100〜400KBである。各英単語に一つの和訳を仮定し、英単語及び和訳の平均文字数を7.5とすると、100KBのScrachPadに登録できる英単語数は260語程度である。
図3 電子英単語帳
6.今後教材を開発する上での問題点
今までは携帯電話上のJava環境について述べてきた。しかし、最近、新たな実行環境であるBREW(Binary Runtime Environment
for Wireless)対応の携帯電話が広く普及し始めている。auが発表している端末の多くはBREW対応である。BREWは、QUALCOMM社が開発したC/C++言語を用いた携帯電話のソフトウェア実行環境である。BREWの共通APIを実装したアプリケーションプラットフォームを端末上に搭載することで携帯電話間の仕様の違いを吸収し、単一のプログラムで多数の携帯電話に対応できるよう設計されている。
BREWの大きな特徴は、実行速度の速さとセキュリティの高さである。機械語に変換されたネイティブコードを実行するため、仮想マシンを使うJavaに較べて実行速度が速い。また、不正な動作を行うプログラムが作成されないよう、QUALCOMM社の電子署名がないアプリケーションソフトは実行できないという制限がある。
一方、BREWの問題点は、開発したアプリケーションを端末で動作させるためにはQUALCOMM社製のBREW用コンパイラを使わなければならない。このコンパイラの価格は$1500であり、Javaの開発環境が無料であることに較べると、高価な印象を受ける。さらに、国内で開発したアプリケーションを公開するためにはQUALCOMM社とDeveloper契約をした上で、KDDIの審査を受ける必要がある。KDDIでは、開発した教材を公開するためのEzwebへのエントリー資格として提供者が法人格であることを要求しているため、開発した教材を授業等で利用することは極めて難しい。
7.まとめ
DoCoMo、vodafone、auの主要3キャリアが実装しているJava実行環境の特徴について述べた。また、3社間でvodafoneとauは互換性を保てる可能性があるが、DoCoMoは独自プロファイルのせいで無理だということが判った。また、各社のJava環境で利用できる通信機能について述べ、その通信機能を利用した電子英単語帳を紹介した。さらに、新たなソフトウェア実行環境であるBREWについて、その特徴と問題点について述べた。
関連URL
[DoCoMo]http://ultra2.phys.cst.nihon-u.ac.jp/~i/
[vodafone]http://appget.com/vf/menu/apview_027568.htm
[au]http://ultra2.phys.cst.nihon-u.ac.jp/dnld.hdml