Định danh agent

Một phần của tài liệu Phát triển phần mềm hướng Agent (Trang 65 - 66)

Để nhất quán với đặc tả FIPA, mỗi một thể hiện agent được định danh bởi một “bộ định danh agent” (agent identifier). Một bộ đinh danh agent được biểu diễn dưới dạng là một thể hiện của của lớp jade.core.AID. Phương thức getAID() của lớp agent cho phép gọi lại định danh cục bộ của agent. Một đối tượng AID gồm một tên tòan cục đơn nhất (GUID) cộng thêm môt số địa chỉ. Tên trong jade có dạng <local-name>@<plaform-name>. Ví dụ một agent là Peter đang tồn tại trên plaform là foo-platform sẽ có tên tòan cục đơn nhất là Peter@foo-platform . Địa chỉ gộp trong AID là địa chỉ của platform mà agent sống. Nhưng địa chỉ này chỉ được sử dụng khi một agent cần giao tiếp với agent khác sống trên một platform khác cũng tuân theo chuẩn FIPA.

Lớp AID cung cấp một số phương thức phục vụ cho việc gọi lại tên cục bộ (getLocalName()), GUID (getName()) và địa chỉ (getAllAddresses()). Vậy nên ta có thể làm phong phú thêm thông điệp chào đón của agent HelloWorldAgent của chúng ta như sau:

protected void setup() {

// Printout a welcome message

System.out.println("Hello World. I’m an agent!"); System.out.println("My local-name is

"+getAID().getLocalName());

System.out.println("My GUID is "+getAID().getName()); System.out.println("My addresses are:");

Iterator it = getAID().getAllAddresses(); while (it.hasNext()) {

System.out.println("- "+it.next()); }

}

Tên cục bộ của một agent đuợc gán tại thời điểm khởi động bởi người tạo và phải là đơn nhất trong platform. Nếu đã tồn tại một một tên cục bộ tương tự trên platform, JADE run-time sẽ ngăn chặn việc tạo agent mới mà trùng tên. Tạo một agent và AID của nó có thể làm như sau:

String localname = "Peter";

AID id = new AID(localname, AID.ISLOCALNAME);

tên platform được tự động gắn vào GUID của AID mới được tạo bởi JADE run-time. Tương tự như vậy, tạo GUID của một agent và AID của nó được thực hiện như sau:

String guid = "Peter@foo-platform"; AID id = new AID(guid, AID.ISGUID);

Một phần của tài liệu Phát triển phần mềm hướng Agent (Trang 65 - 66)