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.
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.
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]); } } } }
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]); } } } }