修論タイトル:オフラインWebアプリケーションにおける事前データ取得の半自動化

氏名:磯谷俊明

概要:

 近年GmailやGoogle MapsなどのWebアプリケーションが多くのユーザにより利用されている. Webアプリケーションは使用する実行環境に依存しないという特徴がある. しかしWebアプリケーションのダウンロード時だけでなく, その実行の間中, ネットワーク接続がオンライン状態でなければならない事も多い. 近年ではスマートフォンからWebアプリケーションを使用するケースも多く, オフライン状態下で使用できない事は不便さにつながる可能性がある. その点を解消したものがオフラインWebアプリケーションである. オフラインWebアプリケーションはオフライン環境下でも実行が可能なWebアプリケーションの総称である. オフラインWebアプリケーションはアプリケーションの実行に必要なデータをあらかじめWebサーバから取得する事でオフライン状態での実行を可能にしている.オフラインWebアプリケーションにおいてはWebサーバからWebブラウザ側に実行に必要なデータを一括で事前取得(以下プリフェッチ)する事が基本である. 従ってプログラム中のプリフェッチコードは最初のデータ取得時の記述のみでよく, 通信処理に伴うコールバック関数の記述コストは少ない. しかしデータの一括取得が困難な場合がある. この問題は従来では一括取得後は常にオフライン状態である事を想定していたオフラインWebアプリケーションにおいて, データの一括取得後も必要に応じて一時的にオンライン状態になる事を想定したオンデマンドプリフェッチを採用する事で解決できる. ただしオンラインになるタイミングは選択できないものとする. これは電波が不安定になる場所での使用を想定している為である. このようにデータの一括取得後に, 一時的にオンライン状態になることを想定するアプリケーションを準オフライン型, また一括取得後のデータ通信を行わないアプリケーションを完全オフライン型と便宜上呼ぶことにする.
 準オフライン型においてはオンラインになるタイミングを選べないため必要なデータを予測し, オンライン時にプリフェッチをする事が考えられる. しかしこの方法を採用すると実行に必要なデータをプリフェッチするタイミングを考慮しつつプログラミングを行うことが求められるため, データのプリフェッチを行うコードを何度も修正する事が予想される. 例えばオフライン時にプリフェッチを行っても失敗する事からプリフェッチコードの実行を試みる間隔を変更する事などが考えられる. さらにプリフェッチコードに伴うコールバック関数の書き換えも行う必要があり非常に煩わしい.
 そこで本研究では準オフライン型のWebアプリケーションにおいて, プリフェッチコードをプログラムのロジックとは別に用意した情報から自動生成し, プログラム中に自動挿入する手法を提案する. またコールバック関数などの煩雑な処理を記述する必要のない手法についても提案する.

[修論pdf][研究室内部向け情報]