本年度は研究計画に基づき、Java言語用の自己反映計算機構の開発と、移動エージェント・システムの初期プロトタイプの試作をおこなった。 自己反映機構の開発では、OpenJava、Javassistのふたつのシステムの開発を進めた。これらのシステムは異なるアイデアに基づいて設計されており、前者はソースコードに基づく自己反映計算、後者はバイトコードに基づく自己反映計算を実現するものである。前者は特に文法拡張に優れた柔軟性を示すことが、後者は実行性能が優れていることが、それぞれの特徴として本年度の研究をとおして明らかになってきた。一方で基本的な自己反映計算の能力については、両者の間に大きな差異がないことも確認できた。またそれぞれのシステムは付属文書などを整備し、一般に公開した。OpenJavaについては100名以上、Javassistについては15名ほどの国内外のユーザがメーリングリストに登録されている。来年度以降は、これらのユーザからフィードバックなども考慮して、システムの改良にとりくむ。 一方、移動エージェントシステムの初期プロトタイプとして、拡張Webサーバを作成した。このシステムを用いると、Webサーバと通信をおこなうアプレットを非常に容易に作成することができる。アプレットはWebサーバと通信し、サーバ上のオブジェクトの情報を得ることができる。またサーバ上のオブジェクトは、定期的に自動的にディスクに退避されるので、サーバが停止しても情報が失われることはない。従来このような機能は複数のシステムを組み合わせて実現しなければならなかったが、今回作成したシステムは単独で機能を提供する。また、実装にあたっては我々が開発した自己反映計算機構Javassistを用いたので、実装は比較的容易であった。我々はJavassistの有用性の一端を示すことができたと考えている。
|