Wednesday, October 26, 2011

Jade and HelloWorldAgent

Oke, beberapa waktu yang lalu kita udah sukses menjalan JADE Remote Agent Management GUI melalui Netbeans, sekarang kita coba perdalam JADE dan nanti diakhir kita coba coding membuat agent yang memiliki fitur sederhana. Menampilkan Hello World!!

Yuk, kita dalami dulu sedikit istilah-istilah yang ada pada JADE..
Prinsip Kerja JADE
JADE sebagai middleware yang memberikan fasilitas untuk pengembangan sistem berbasiskan agent menyediakan :
  • Runtime environment yang menjadi tempat di mana agent dapat berjalan dan harus aktif pada host dimana agent akan bekerja.
  • Pustaka berupa kelas-kelas yang dapat/harus digunakan untuk mengembangkan agent.
  • Sekumpulan graphic tool yang digunakan untuk melakukan administrasi dan monitoring terhadap aktivitas agent yang sedang berjalan pada runtime environment.
Runtime environment dalam JADE dikenal dengan istilah container. Satu host dapat menjalankan lebih dari satu container dan setiap container bisa menangani beberapa agent. Sekumpulan container yang aktif disebut sebagai platform. Sebuah platform dapat memiliki container yang berasal dari host yang berbeda-beda. Satu platform harus memiliki satu container yang memiliki atribut sebagai main container yang aktif. Semua container yang aktif dan ingin bergabung dalam sebuah platform harus bergabung dengan mendaftarkan diri pada main container dan tidak boleh beratribut sebagai main container atau disebut juga normal container.

Selain menerima pendaftaran dari normal container sebuah main container selalu memiliki dua buah agent yang aktif secara otomatis ketika main container dijalankan. Kedua agent itu adalah:
  • AMS (Agent Management Sistem) yang menyediakan naming service yang memastikan setiap agent dalam platform memiliki identitas yang unik. Selain itu AMS dapat merepresentasikan otoritas dalam platform di mana melalui AMS kita dapat menjalankan atau menghentikan agent dalam container yang terdaftar.
  • DF (Directory Facilitator) adalah agent yang berfungsi sebagai “yellow pages” bagi platform. Melalui DF sebuah agent dapat mencari agent yang aktif dan layanan yang diberikan agent tersebut.
Container udah paham.. Platform udah paham.. Main container juga udah.. Normal container udah.. AMS dan DF juga udah.. Oke, sekarang lanjut ke coding agent dan hello worldnya..

Pertama..
Kita buat project baru saja deh, biar ingat bagaimana setingan dan konfigurasi menjalankan JADE di Netbeans. Beri nama, misalkan AgentHelloWorld.

Kedua..
Inputkan library jade ke project AgentHelloWorld, dilanjutkan dengan konfigurasi run secara customize. Lupa? Lihat lagi di postingan ane sebelumnya http://ar-wdh.blogspot.com/2011/10/jade-and-intelligent-agent.html he..he..

Ketiga..
Inputkan code berikut :
package agenthelloworld;
import jade.core.Agent;
import jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import java.util.Iterator;

public class Main extends Agent {

public void setup() {
System.out.println("hello...I am agent; " + getLocalName());
System.out.println("my local name is " + getAID().getLocalName());
System.out.println("my GUID is " + getAID().getName());
System.out.println("my address are ");
Iterator it = getAID().getAllAddresses();
while (it.hasNext()) {
System.out.println(" - " + it.next());
}
System.out.println("my argument are :");
Object[] args = getArguments();
if (args != null) {
for (int i = 0; i < args.length; i++) { System.out.println("- " + args[i]); } } } }




Keempat..
Sebelum kita run test, ane ingatkan lagi untuk jangan lupa langkah kedua di atas. Jika sudah, kita run, caranya klik kanan pada project -> run.
Tunggu sebentar, jika sukses harusnya muncul wizard JADE Remote Agent Management (RAM). Pada pembahasan kali ini, kita coba untuk membuat agent melalui JADE RAM. Caranya : Klik kanan pada main container -> Start New Agent.

  • Beri nama agent, misalkan : adhie
  • Class name, diklik pada icon ... kemudian pilih agenthelloworld.Main
  • Arguments, boleh diisi/boleh tidak. Misalkan ane isi : I am new comer agent.
  • Klik OK
Kelima..
Jika tidak ada kesalahan, maka dilayar output pada Netbeans akan muncul keluaran HelloWorld yang kita buat.

1 comment: