Như ta đã biết UML là ngôn ngữ rất mạnh để mô hình hóa các đối tượng và thao tác của các đối tượng. Nó cung cấp các mô hình tĩnh (các bi ểu đồ lớp và gói) và các mô hình đ ộng (biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt động) để mô tả hệ
thống phần mềm. Quá trình xây dựng các hệ thống dựa tác tử cũng đòi hỏi tất cả các quá trình của công nghệ phần mềm như: phân tích, thiết kế, đanh giá, bảo trì… Tuy nhiên, agent có nhiều điểm khác biệt so với các đối tượng nên có nhiều lúc UML không thể hỗ trợ toàn bộđể mô hình hóa hệ thống dựa agent. Vì vậy, đểđặc tả cho hệ
thống dựa tác tử, FIFA (Foundation for Intelligent Physical Agents) sử dụng UML mở
rộng, gọi là AUML (Agent Unified Modeling Language) để mô hình hóa các hệ dựa tác tử, đặc tả giao thức tương tác tác tử (AIP – Agent Interaction Protocols).
AUML là một hướng tiếp cận giao thức phân mức. Một giao thức tương tác tác
tử (AIP) mô tả các mẫu truyền thông như một dãy các thông đi ệp giữa các agent và ràng buộc nội dung của các thông điệp này. AIP được mô tả gồm ba mức [8, 9]:
- Mức 1: Mô tả giao thức liên lạc (UML Package and Template).
- Mức 2: Mô tảtương tác giữa các agent (các biểu đồ tuần tự, cộng tác, hoạt
động biểu đồ trạng thái).
- Mức 3: Mô tả quá trình xử lý bên trong agent (activity diagram và statechart)
29
3.4.3.1 Mức 1 – biểu diễn giao thức liên lạc ở mức tổng quan
UML cung cấp hai kỹ thuật nhằm biểu diễn các giải pháp cho giao thức, đó là
package và template.
- Package: Là tập các nhân tố mô hình hóa ở mức khái niệm Ví dụsau được lấy trong [8]
Hình 3.6: Ví dụ package
Các gói cung cấp một kỹ thuật chung cho việc phân chia các mô hình và nhóm các thành phần mô hình. Mỗi gói được biểu diễn như sau:
o Mỗi gói đóng là nhóm thành phần có quan hệ logic với nhau.
o Kiến trúc của hệ thống được biểu diễn nhờ mô hình liên kết giữa các
gói đóng
o Một gói đóng có thể chứa các gói đóng khác.
o Dùng một gói mô tả giao thức lồng nhau.
- Template: là một thành phần mô hình được tham số hóa có các tham số bị
30
Hình 3.7: Một kịch bản giữa người mua hàn và ngời bán hàng
3.4.3.2 Mức 2 – biểu diễn tương tác giữa các agent
Ở mức này, ta sử dụng các biểu đồtrong UML để biểu diễn các giao thức: - Biểu đồ tuần tự
- Biểu đồ cộng tác - Biểu đồ hoạt động - Biểu đồ trạng thái
Trong đó, biểu đồ tuần tự và biểu đồ cộng tác mô tả tương tác giữa các agent; còn biểu đồ hoạt động và biểu đồ trạng thái biểu diễn các luông xử lý. Các biểu đồ này biểu diễn các agent gần giống với UML biểu diễn các đối tượng, và mở rộng ra một chút cho phù hợp với agent. Như: AUML thêm các phần biểu diễn tương tác đa luồng ví dụ [8]:
Hình 3.8 Tương tác đa luồng trong AUML
Hình (a) biểu diễn các luồng được gửi đi song song (phép AND). Hình (b) bao gồm một hộp quyết định xác định xem luồng nào sẽđược gửi đi tiếp (phép OR). Hình
31
3.4.3.3 Mức 3 – biểu diễn xử lý bên trong Agent
Tại mức thấp nhất, đặc tả về một giao thức. Agent yêu cầu giải thích rõ ràng những xử lý chi tiết bên trong agent để tiến hành giao thức. Các mô hình mức cao hơn
(gọi là holon) bao gồm tập các agent ở mức thấp hơn. Các hành vi bên trong có thể được biểu diễn bằng việc sử dụng đệ quy các cách biểu diễn ở mức 2.
Ví dụ:
Hình 3.9: Các hành vi bên trong của agent Initiator (a) và Participant(b)
3.5 Java Agent DEvelopment Framework (JADE) 3.5.1 Khái niệm về JADE