Dịch vụ thông báo sự kiện và mô hình công cụ JADE

Một phần của tài liệu MÔI TRưỜNG PHÁT TRIỂN tác tử DI ĐỘNG và ỨNG DỤNG (Trang 53 - 55)

Dịch vụ thông báo sự kiện (Event Notification Service - ENS) là một dịch vụ ở mức nền tảng quản lý các thông báo phân tán của tất cả các sự kiện được sinh ra bởi mỗi node của nền tảng. Mỗi khi có một sự kiện được sinh ra bởi một container, nó sẽ bị chặn bởi ENS và được định tuyến tới mọi tác tử đã đặt trước để được thông báo về các kiểu sự kiện. Nếu không có tác tử nào đặt trước thì ENS có hiệu năng không đáng kể. Thực tế, những node có hiệu năng thấp là container nơi cư trú của các tác tử đã đặt trước và là container sinh ra sự kiện được thông báo. Vì tất cả các tác tử công cụ có thể hoạt động khi cần, thậm chí tại thời điểm chạy trong quá trình

vận hành nền tảng, việc cải thiện hiệu năng có thể đạt được bằng cách chỉ bắt đầu chúng khi cần thiết. Có 4 loại sự kiện chính:

Sự kiện liên quan đến vòng đời, còn được gọi là sự kiên kiểu nền tảng (nền tảng-type) vì chúng luôn liên quan đến container chính. Những sự kiện này liên quan đến những thay đổi trong vòng đời tác tử (ví dụ: born, dead, moved, suspended, resumed, frozen, thawed) và liên quan đến những thay đổi trong vòng đời container (ví dụ: added, removed).

Sự kiện kiểu MTP-type được sinh ra bởi nền tảng khi một MTP được kích hoạt (kết thúc) và khi một thông điệp được gửi/nhận bởi/từ một MTP, cụ thể là khi có một số phiên truyền thông liên nền tảng (inter-nền tảng).

Sự kiện kiểu message-passing-type được sinh ra khi một thông điệp ACL được gửi, nhận, định tuyến hoặc được đưa vào hàng đợi thông điệp. Chúng là những sự kiện mà Sniffer thường sử dụng để giám sát.

Sự kiện kiểu Agent-internal-type liên quan đến những thay đổi trong trạng thái và hành vi của tác tử. Chúng là những sự kiện mà Introspector thường sử dụng để giám sát.

Các tác tử tương tác với ENS bằng cách trao đổi các thông điệp ACL với AMS. Kiểu sự kiện message-passing-typeAgent-internal-type nói cách khác chỉ được nằm trong container chính nơi tác tử tạo ra chúng cư trú. Việc chuyển chúng vào container chính thực tế sẽ làm giảm đáng kể hiệu năng của nền tảng. Điều này được thực hiện bằng các phương tiện của hành động SnifferOn và hành động DebugOn của JADEManagementOntology. Kết quả của hành động SniffOn là một tác tử phụ ToolNotifier được tạo ra trong container mà tác tử đích cư trú ở đó, tác tử này lắng nghe sự kiện message-passing cục bộ và chuyển tiếp chúng tới tác tử quan sát. Hệ thống thông báo sự kiện của JADE được minh họa trong Hình 4.11:

Hình 4.12: Biểu đồ các lớp công cụ của JADE

Mọi công cụ của JADE, ngoại trừ DummyAgent, đều kế thừa từ lớp jade.tools.ToolAgent – lớp cung cấp khả năng nhận các thông báo theo một cách thống nhất. Hình 4.12 minh họa biểu đồ lớp UML về các công cụ của JADE. Điều này cho phép một số tính năng và sự đơn giản hóa quan trọng:

Vòng đời của một công cụ JADE có thể được quản lý như các tác tử khác của nền tảng.

Khả năng truyền thông điệp của tác tử cơ sở có thể được sử dụng để cho phép sự tương tác giữa công cụ và AMS, cụ thể là việc đặt trước các thông báo sự kiện của nền tảng.

Một số thể hiện của cùng một công cụ có thể cùng tồn tại trên cùng một nền tảng và thậm chí trong cùng container.

Lớp jade.tools.ToolNotifier cài đặt các tác tử phụ trợ được dùng để chuyển tiếp các sự kiện message - passingAgent - internal tới các tác tử quan tâm chính là một ToolAgent. Cách này cho phép phát hiện xem tác tử đích hoặc tác tử quan sát đã kết thúc hay chưa.

Một phần của tài liệu MÔI TRưỜNG PHÁT TRIỂN tác tử DI ĐỘNG và ỨNG DỤNG (Trang 53 - 55)

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

(69 trang)