là: Facilitator agent Agent xử lý dữ liệu Agent xứ lý ontology Agent xử lý tệp Các dịch vụ cung cấp bởi agent khách Lưu trữ Đăng ký dịch vụ - đáp ứng dữ liệu Đăng ký dịch vụ - đáp ứng chức năng
Mỗi đáp ứng chức năng đều phải có một phần điều khiển được định nghĩa và công bố, trong khi đáp ứng về dữ liệu thì không cần (việc điều khiển các yêu cầu đến đáp ứng dữ liệu được cung cấp một cách trong suốt bởi thư viện agent).
Đáp ứng dữ liệu được kết hợp với tập hợp các chõn lý (hay mệnh đề), chúng có thể bị thay đổi trong quá trình sử dụng hệ thống do cả agent cung cấp đáp ứng đó và các agent khác trong hệ thống sẽ Mặc dù có những khác biệt trên, nhưng cần lưu ý rằng cách thức sử dụng (cách thức mà các agent yêu cầu các dịch vụ) là giống nhau với cả hai loại đáp ứng. Quá trình yêu cầu dịch vụ của một agent sẽ được trình bày trong phần sau.
Thư viện agent cung cấp một tập các hàm cho phép agent có thể thêm, xoá, sửa đổi các đáp ứng của nó, những việc này có thể thực hiện bất kỳ thời điểm nào sau khi agent đó đã kết nối với facilitator agent của nó.
Các đáp ứng của agent thể hiện các đóng góp của agent đó cho hệ thống. Song việc công bố một đáp ứng cần phải tuân theo một cú pháp chung, mọi agent đều hiểu được. Có nghĩa là, mọi agent cần phải đặc tả chi tiết đáp ứng của mình. Một đáp ứng gồm ba phần: mục đích, một danh sách thao tác,
danh sách các tham số.
Đáp ứng (mục đích, các thao tác, các tham số).
Mục đích: theo cú pháp của ngôn ngữ giao tiếp agent, mục đớch là
sự mô tả dịch vụ được cung cấp bởi đáp ứng đó. Cú pháp mô tả mục đích dưới dạng các hàm (function) với các tham số(hoặc không có tham số). Ví dụ, send_message(email, ToPerson, Params), trong đó
send_message là tên hàm hay tên dịch vụ, ToPerson và Params là
các tham số.
Các thao tác: là các phương pháp để một agent khác có thể điều
Các tham số: để truyền các ngữ nghĩa liên quan tới đáp ứng. Trước
hết, loại tham biến cho đáp ứng đó là đáp ứng chức năng hay dữ liệu. Khi kiểu là chức năng, thì tham biến khác có thể được dùng để chỉ ra các điều khiển gắn với đáp ứng đó.
Việc định nghĩa các khả năng của agent trong các đáp ứng được công bố đã tạo ra một bộ từ vựng để các agent khác giao tiếp với agent mới. Vấn đề ở đõy là các agent sẽ phải dùng ngôn ngữ giao tiếp tương tự nhau và trên cơ sở ngữ nghĩa rừ ràng, cũn được gọi là ontology.
1.10 Yêu cầu dịch vụ trong hệ thống dựa mô hình BKAS
Một agent yêu cầu các dịch vụ của cộng đồng bằng cách giao phó các nhiệm vụ, các mục tiêu đến facilitator agent mức trên nó. Mỗi yêu cầu bao hàm những lời gọi tới một hoặc một số agent đáp ứng, và tuỳ thuộc vào đặc tả tham số đầu vào mà chỉ dẫn giúp cho facilitator agent xác định cách thức thực hiện công việc (uỷ quyền cho agent nào). Một điểm quan trọng cần lưu ý rằng, việc gọi đáp ứng không yêu cầu các thông tin đặc tả về agent đáp ứng cũng như các agent khác điều khiển qúa trình gọi đáp ứng. Trong một số trường hợp cần thiết, chúng ta có thể phải đăc tả một hay một số agent qua tham số địa chỉ, nhìn chung điều này là thuận lợi để chuyển sự uỷ quyền đến facilitator agent. Theo cách này, người lập trình giảm thiểu được việc mã hoã một cách cứng nhắc (hard-code) khi dependency tạo sự lệ thuộc giữa các thành phần, thường thấy ở các framework phõn tán.
Hình 11: Sự uỷ quyền của facilitator agent trong trường hợp yêu cầu đa mục tiêu