エージェント作成マニュアル

佐藤 一郎

AgentSpaceのエージェントはJava言語によって作成され、そのプログラムの 形態は、他のJavaベースのモーバイルエージェントシステムとほぼ同じもの となります。たたし、AgentSpaceシステムではエージェント転送の高速化の ためJava言語処理系でコンパイル後にクラスファイルの統合という処理が 必要となります。

エージェントプログラムのコンパイル

コンパイル方法は通常のJavaプログラムのコンパイルと同じです。JDK1.1またはJDK1.2 を用いるのならば

	javac Javaソースファイル

ただし、 環境変数CLASSPATHに上記の system ディレクトリが含まれている必要が あります。もし、環境変数CLASSPATHに「 . 」(カレントディレクトリ)が 含まれいるのならば、インストールマニュアル のインストール例であれば system ディレクトリをカレントディレクトリ にしてください。

エージェントファイルの生成

AgentSpaceシステムの特徴は、エージェントに必要なファイルをまとめて一回の TCPトランザクションで転送することにあります。これにより、他のJavaベースの モーバイルエージェントシステムでは、エージェントの状態に加えて、必要な クラスファイルを一個づつ転送するためにTCPトランザクションが非常に多くなる のに対して、AgentSpaceシステムは一回で済むこととなり高速化されます。 これは、ネットワークの物理的通信遅延が大きいほど、その差が広がります。 これはHTTPにおいて、一つのHTMLファイルの中にサイズは小さいが数多くの イメージファイルが含まれている場合と、サイズは小さくないが一個の イメージファイルしかない場合を想像していたいただければよいでしょう。

ただし、Java言語用のアーカイブツールである Jar コマンドを利用して、コンパイルしたクラスファイルを 一つに統合する必要があります。

エージェントファイルの生成

AgentSpaceシステムをインストールされてい る必要があります。また、以降では、環境変数CLASSPATHに「. 」があり、か つ、カレントディレクトリが 解凍ファイルの systemディレクトリであるとし ます。


	jar cvf エージェント名.jar 必要クラスファイル名(s) 

ここで主クラス名とは、Agentクラスを継承したクラスであり、 コールバックされるメソッドを含むJavaクラスの名前です。 エージェント名はエージェントの名前、必要クラスファイル名(s) は このエージェントに関わるクラスファイル名で、転送先に存在しない クラスはここに列挙しておく必要があります。

	jar cvf Editor.jar Editor.class

この例は上記の Editor.javaに基づくエージェントファイルの生成方法を 示したものです。すでにEditor.classは存在するとします。なお、環境変数 CLASSPATHに「 . 」があり、かつ、カレントディレクトリが解凍ファイルの system ディレクトリであるとします。

上記の Editor.java はAgentクラスのサブクラスであり、コールバックメ ソッドをもっていますので主クラスとなります。そして、エージェントの名前 を Editor.jar とします。エージェントファイルはその拡張子が「.jar」 となる必要があります。このエージェントに固有のクラスは Editor.class だ けなので Editor.class をクラスファイルを登録しておきます。もし、複数の クラスファイルから構成されているのならば例えば以下のようにします。

	java cvf Editor.jar Editor.class Editor1.class Editor2.class

ただし、指定した複数のクラスファイルのうちで「Agent」クラスのサブクラスは 一つだけにしてください。複数含む場合は「MANIFEST.MF」ファイルにエージェント として起動すべきクラスひとつにマークをつけます。

注意:2000年8月29日版より古いシステムでは「.agent」という拡張子をもつ 独自のアーカイブ形式を採用していました。 これは移動の高速化と安全性を狙ったものでしたが、 昨今のCPU速度の高速化から一般のJARコマンド用のアーカイブフォーマット をとっても 速度差は小さいと判断して変更しました。 ただし、PentiumMMX 200MHz程度のマシンでは10%程度の遅くなります。 なお、永続化されたエージェントもJARコマンド用のアーカイブフォーマット で保存されていますので、 JARコマンドを使ってクラスファイルを取り出すことができます。

エージェントファイルのロード

AgentSpaceシステムが起動してたら、AgentSpaceのウィンドウから「Load」 ボタンを押し、ファイルリストから「Editor.jart」となるファイルを選択・ロードしてください。

質問は Email: ichiro@is.ocha.ac.jp に御連絡ください。

Ichiro Satoh (Ph.D.)
Associate Professor,
Deparment of Information Sciences, Ochanomizu University
Japan Science and Technology Corporation
2-1-1 Otsuka Bukyo-ku Tokyo 112-8610, JAPAN
Tel: +81-3-5978-5388, Fax: +81-3-5978-5390
Email: ichiro@is.ocha.ac.jp