Các phương thức truy cập tới khả năng di động của Agent

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

Trong JADE, agent di động được điều khiển đơn giản thông qua phương thức doMove() trong lớp Agent :

void doMove( Location destination )

Tham số đích phải là một đối tượng của một lớp thực thi giao diện Location. Trong platform của JADE có 2 lớp thực thi giao diện này, chúng đều chứa trong gói jade.core. Đầu tiên là

ContainetID, được dùng để đặc tả đích đến của agent sẽ là một container của platform. Container

đó hiện đang chạy. Thứ 2 là PlatformID, được sử dụng để chỉ ra rằng đích đến của agent là container chính của một platform khác. Khi một platform từ xa được chỉ định là đích đến của một agent di động thì các cơ chế di động giữa các platform (mô tả trong phần 5.3) được thực hiện .

Mỗi khi được gọi tới, phương thức này khởi tạo tiến trình di chuyển agent đến container đích được chỉ định. Đa số code để đạt được điều này nằm trong gói jade.core.mobility. Lời gọi phương thức doMove() được chuyển tiếp tới “Dịch vụ agent di động” thông qua phương thức

move() của helper của nó. Hành động đầu tiên helper thực hiện là thay đổi trạng thái của agent từ

ACTIVE thành TRANSIT buộc agent chấm dứt các hoạt động hiện thời của nó và bị trì hoãn trong khi platform định vị lại vị trí của nó. Người dùng có thể chỉ định các hoạt động được kích hoạt trước khi tiến trình di động được bắt đầu, ví dụ lưu trạng thái agent. Các hoạt động đó được xác định theo phương thức của lớp Agent :

void beforeMove()

Một phương thức ngược lại là afterMove() cũng được chỉ định để kích hoạt các hoạt động được thực thi ngay sau khi agent di chuyển, trước khi nó phục hồi lại trạng thái ACTIVE tại vị trí đích.

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

Tải bản đầy đủ (PDF)

(166 trang)