« 3/3(火)豆ナイト OSGi | メイン | QCon Tokyo行きます »

JADE LEAP for Android

JADE(Java Agent Development Framework)という、LGPLのマルチエージェントのJava実装があります。いわゆるエージェント指向のひとつのようです。JADEは、FIPA(http://fipa.org)で定めているマルチエージェントの仕様を実装したものです。これのAndroid用アドオンが出ているのでちょっと試している最中です。セットアップが結構面倒だったので、方法を備忘録として書きます。
 


1.ソースの取得
http://jade.cselt.it/から、JADEのソース(full版でも可)をダウンロードする。(ユーザー登録が必要)
・「add-ons and 3rd party sw」のページ(http://jade.cselt.it/community-addons.php)からLeapとJADE Androidを取得し展開する
・以下のようなディレクトリ構成になるようマージする


jade/
 |
 |-add-ons/
 |- …
 |-android JADE LEAP for Androidのディレクトリ
   |- demo
   |- doc
   |- lib
   |- src
 |-leap/
 |   |- …
 |   |-src/ LEAPのソースファイル
 |- …
 |-src/ JADEのソースファイル

2. build.propertiesの修正
JADE LEAP for Androidのディレクトリにあるbuild.propertiesを修正(Android SDKの場所など)

3. jarの生成
※ Antが必要です。Antのインストールと環境変数への設定(PATH等)を済ませておいて下さい。

・LEAPのビルド
leapディレクトリに移動し、

ant

leap/j2se/libに、JadeLeap.jarが出来ていればOK。

・JADE LEAP for Androidのビルド
/add-ons/androidに移動し、

ant jar

を実行。うまくいくとJadeLeapAndroid.jarが出来る。

4. JADE LEAP Main Containerの起動
leapディレクトリで

java -cp j2se/lib/JadeLeap.jar jade.Boot -gui

等と実行すると起動する。

5. 使い方、試し方
Androidのプロジェクトでは、JadeLeapAndroid.jarをビルドパスに含み
AndroidManifestに

<uses-permission android:name="android.permission.INTERNET" />
<service android:name="jade.android.MicroRuntimeService" />


を追加しておけば使えます。

JADE LEAP for AndroidのdemoディレクトリをそのままEclipseプロジェクトにインポートすればデモを試すことが出来ます。ただし、stringのvalue.xmlにIPアドレスの定義などがあるので、環境に合わせて変更する必要があるようです。デモを実行するとこんな画面が開きます。

GUI側にもエージェントが新たに追加されています。

このデモでは、Android端末からInteraction Protocol(対話の種類みたいなもの)を選んで、任意のエージェントへメッセージを投げることが出来ます。私はまだマルチエージェントの細かい振る舞いや仕様をよく知らないので、これから勉強してみます。ちょっとみた感じでは、メッセージを受け取ったときにそのメッセージに対応する処理を実装するだけでよさそうなので、プロセス間通信の仕組みとしては、シンプルでわかりやすいんじゃないかと思いました。

トラックバック

このエントリーのトラックバックURL:
http://www.grandnature.net/bin/mt-tb.cgi/110

コメントを投稿

About

2009年03月06日 20:48に投稿されたエントリーのページです。

ひとつ前の投稿は「3/3(火)豆ナイト OSGi」です。

次の投稿は「QCon Tokyo行きます」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。