Giao thức truyền thông điệp nội bộ (IMTP)

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

JADE IMTP (Giao thức truyền thông điệp nội bộ) chuyên dùng để trao đổi thông điệp giữa các agent sống trong các container khác nhau trong cùng 1 platform. Nó tương đối khác với các MTP ngoài platform, như HTML. Thứ nhất, vì nó chỉ được dùng cho việc giao tiếp bên trong platform, nên không cần phải tương thích với các chuẩn FIPA; nó có thể thuộc và do đó được thiết kế để hỗ trợ việc vận hành platform. Thực tế JADE IMTP không chỉ được dùng để truyền thông điệp mà còn truyền các lệnh bên trong cần thiết để quản lý platform phân tán, cũng như giám sát trạng thái của các container từ xa. Ví dụ, nó được sử dụng để truyền lệnh tắt 1 container, cũng như giám sát việc 1 container bị tắt hoặc nằm ngoài kiểm soát.

JADE được thiết kế để cho phép lựa chọn IMTP trong thời gian platform chạy. Hiện tại, đã có 2 các cài đặt ITMP chính. Một cách dựa trên Java RMI và là tùy chọn mặc định. Cách thứ hai dựa trên 1 giao thức sử dụng TCP socket giúp loại bỏ đi sự thiếu sót hỗ trợ Java RMI trong môi trường J2ME; nó được khởi động mặc định khi chạy platform JADE LEAP và sẽ được mô tả trong Chương 8. Cả 2 cách cài đặt này đều cung cấp các lựa chọn cấu hình cho phép điều chỉnh IMTP theo mạng và các thiết bị nhất định.

2.6.2.1 Giao thức truyền thông điệp nội bộ theo chuẩn RMI (RMI-IMTP)

RMI-IMTP được cái đặt bởi gói jade.imtp.rmi. Khi main container khởi động, nó sẽ tìm 1 đăng ký RMI trong host cục bộ và gọi đến các đối tượng tham chiếu; nếu không tìm thấy, nó sẽ tạo ra 1 đăng ký mới. Khi 1 container thường khởi động, nó sẽ xác định đăng ký RMI trên host đặc tả main container và tìm đối tượng tham chiếu của main container. Sau đó nó sẽ gọi phương thức từ xa addNode ( ) của main container để tham gia platform và đăng ký tham chiếu của nó với main container.

Các thông điệp agent và thông tin điều khiển hệ thống được trao đổi giữa các container được cài đặt thông qua 1 mẫu lệnh khi nút yêu cầu (ví dụ, 1 container) tạo ra 1 đối tượng Command và truyền đi đối tượng này, với 1 yêu cầu thực thi, đến nút thực thi.

Hai biến dòng lệnh sau có sẵn trong RMI-IMTP:

-host <hostName>

sẽ đặc tả host đamg cjauk main container để đăng ký với nó; giá trị mặc định là localhost. Lựa chọn này cũng được sử dụng khi chạy main container để override giá trị của localhost, ví dụ để đọc toàn bộ tên miền của host với –host anduril.cselt.it khi localhost chỉ trả về là 'anduril'.

- port <portNumber>

sẽ đặc tả số cổng mà đăng ký RMI được tạo ra bởi main container để nhận các yêu cầu tìm kiếm. Giá trị mặc định là 1099.

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