第 326 回 PTT のお知らせ


日時:2006年10月26日(木) 18:30 から


場所:東京農工大学工学部7号棟 3階 3K室 (地図)



話者:
佐々木 悠 (東京農工大学 工学府 情報工学専攻)


話題:
携帯のJava向けアプリケーション開発支援コンポーネント

概要:
 携帯電話のJavaでの実用AP開発を支援する目的で開発したコンポーネント、 ファイルシステムコンポーネント「FML」と、XMLデータベースコンポーネン ト「cXMLDB」を紹介する。
 携帯電話のJavaから扱える記憶装置のアクセスメソッドはプロファイル依存 となっており、低機能であるため、データ管理が煩雑で、コードの可搬性も低い。 そこで、データ管理の煩雑さを軽減し、プロファイル独立でJ2SEのサブセット のAPIを提供するファイルシステム「FML」を開発した。「FML」はディレクト リツリー形式のファイルシステムであり、内部記憶装置、miniSDカード、イン ターネット上の専用サーバに対してファイル単位での入出力を実現した。
 また、XMLを利用するコンテンツと連携する実用的なAPの開発を支援するこ とを目的として、携帯電話のJava実行環境上にXMLデータベースを構築するコ ンポーネント「cXMLDB」を開発した。一般的にXML処理系はプログラムサイ ズやメモリ消費量が大きく、携帯電話の実行環境で利用することが困難である。 そこで、既存仕様のサブセット化とすることによって、携帯電話のJava環境で 動作するXML DBコンポーネントを実装した。具体的には、APIの仕様は XML:DB Initiativeの定めるXML:DB APIのサブセットを使用し、検索クエリ言 語としては、XPathから検索に必要のない機能を大幅に削除したものを使用した。
 「FML」での内部フラッシュメモリへのシーケンシャルアクセスは64KBの書 き込みで18秒、読み込みで62ミリ秒となった。また、「cXMLDB」では、100KB の検索で4秒という性能を実現した。



第 326 回 PTTメモ

出席者:21名

伊知地宏(ラムダ数教研)、並木美太郎、櫻田武嗣、金井遵、野尻祐亮(農工大)、
石畑清(明治大)、東達軌、山口文彦(東京理科大)、小高健二(東芝)、
田中哲朗、荒川博志、筧一彦(東大)、和田英一(IIJ)、紀信邦(KLS研究所)、
寺田実、多田好克、滝田裕、佐藤喬、岩崎英哉、牧大介、丸山一貴(電通大)


質疑応答:

Q.コンポーネントとはどういう意味か
A.ここでは,携帯のJavaアプリにソースコードレベルで組み込むライブラリ
  としての意味で用いている.

Q.小型と省メモリはどう違うのか
A.小型はプログラムサイズ,省メモリは実行時に使用するメモリ,としての
  意味で用いた.

Q.FMLは携帯電話の中で動くのか,開発環境で動くのか
A.携帯電話のJavaアプリケーション内で動作する.

Q.DoJaとMIDPの両方に必要なコードをインストールするのか
A.FMLのクラスの一部がそれぞれ,両プロファイル依存のコードとなっている.
  プロファイル依存のクラスと,その上位の共通クラスのコードをインストール
  してアプリケーションに組み込むことになる.アプリ側から見れば,
  両プロファイルとも同一のインターフェースである.

Q.常に間接参照にしておいてはどうか.ブロックサイズ以下のデータが多いのか
A.データサイズは扱うデータの性質によって,一概に決定できないと考える.
  よって,どちらの場合にも対応できるような仕様とした.

Q.間接参照テーブルがブロックサイズを超えたらどうなるか
A.間接参照テーブルを多段設けることによって対応している.通常は間接参照
  テーブルから,データ領域へ飛ぶが,ブロックサイズを超える場合は,
  間接参照テーブルから,さらに下の間接参照テーブルへ飛ぶ仕組みとした.

Q.JARファイルの容量拡張の動きなどはあるのか
A.DoJa 5.0等のプロファイルでは,JARファイルのサイズが大幅に拡張される.
  現状は100KBだが,DoJa 5.0では,スクラッチパッドサイズとプログラム
  サイズの合計が1Mまで許されることとなった.

Q.cXMLDBの実験では,一度は全部XMLを読み込むのか,それならDOMでもSAX
  でも同じことではないのか
A.XMLを全てメモリに読み込んでから,SAXで解析を行っている.DOMを用いると,
  XMLのテキストデータに加えて,木構造をメモリに構築しなくてはならない.
  よって,SAXを用いて,メモリを節約しながら解析を行っている.

Q.ファイルシステムの永続性はあるのか(アプリケーションは終了しても残る
  のか)ファイルシステムが壊れたかどうかのチェックはどうするのか
A.ファイルシステムは永続的なものである.ファイルシステムの破損時の
  修復処理等は現状は実装していない.