平成16年度には、まず、最初の課題としてJavaソフトウェア分散化システムの開発に取り組んだ。開発にあたっての対象となるJavaアプリケーション・ソフトウェアとして、外部の研究協力者が開発している遺伝子データベースソフトウェアを例に用いて研究を進めた。プログラム変換システムは、我々が過去に開発した類似のシステムであるAddistantの技術をもとに開発した。開発するシステムは、与えられたソフトウェアをPDAやノートPCなどのクライアント側で実行される部分とサーバ計算機側で実行される部分に自動分割するが、サーバ側ではセッション管理を実行し、複数の利用者が同時にサーバ側のソフトウェアにアクセスできるようにした。例として用いた遺伝子データベースソフトでは、データベースの検索を高速化するために、サーバ側ソフトウェアは1つだけ動かし、それ1つで多数のクライアント側ソフトウェアに対応させる方がよい。我々の研究では、このようなサーバ側ソフトウェアの共有を可能にするようにプログラム変換するシステムを開発した。研究開発の結果、従来技術の延長で典型的な分散化アプローチに対応するだけでは、例に用いたようなソフトウェアの分散化には対応できないことがわかった。これは例に用いたソフトウェアがあまりうまくモジュール化されていないためだが、現実にはこのようなソフトウェアの方が多く、従来技術の問題を示しているといえる。これを解決するために、我々はアスペクト指向プログラミングのアプローチを採用し、非典型的な部分については開発者がきめ細かく分散化の方法を指定できるようにした。
|