Xây dựng các lớp agent

Một phần của tài liệu Lập trình hướng Agent (Trang 121 - 123)

Để đảm bảo các đích hệ thống đều được thực hiện trong pha thiết kế, mỗi role phải được đảm nhiệm bởi ít nhất một lớp agent, đôi khi cũng có các role được đảm nhiệm bởi nhiều lớp agent. Chẳng hạn, lớp UserAgent trong bài toán du lịch đảm nhiệm hai role là User và Buyer. Lý do là hai role này cùng liên quan đến thoả mãn yêu cầu của người dùng và tương tác giữa chúng ngoài mục đích trao đổi thông tin để hoàn thành nhiệm vụ, còn có mục đích bảo mật thông tin cá nhân cho khách hàng. Do vậy, hai role này được đặt vào cùng một lớp agent.

CHƯƠNG 6: THIẾT KẾ HỆ DỊCH VỤ 122 Theo cách này, các lớp agent để thực hiện các role tương ứng được xác định như sau:

- Lớp UserAgent thực hiện vai trò các role User và Buyer

- Lớp HotelAgent thực hiện vai trò role Hotel

- Lớp StationAgent thực hiện vai trò role Station

- Lớp MatchAgent thực hiện vai trò role Matchmaker.

Nhiệm vụ còn lại của bước này là xác định các phiên hội thoại (conversation) xuất hiện giữa các lớp agent để hoàn thiện sơ đồ lớp agent của hệ thống. Các phiên hội thoại được xác định từ các quan hệ giữa các role mà các lớp agent tương ứng cần thực hiện. Tất cả các tương tác giữa các task đã được xác định trong Bước 4 (Pha phân tích) đều trở thành các phiên hội thoại ngoại trừ tương tác giữa task modelling của role User với task

Negotiation của role Buyer bởi vì hai role này được thực hiện bởi chỉ một lớp agent là

UserAgent.

- Tương tác giữa task Modelling với task Interface của role Hotel trở thành phiên hội thoại PrepareHotel

- Tương tác giữa task Negotiation của role Buyer với task Interface của role Hotel

trở thành phiên hội thoại HotelNeg.

- Tương tác giữa lớp UserAgent với lớp StationAgent có hai phiên hội thoại là

PrepareTrainTrainNeg

- Tương tác giữa task Modelling của role User với task Matching của role

Matchmaker trở thành phiên hội thoại UserConnect

- Tương tác giữa task Interface của role Hotel với task Confirm của role

Matchmaker trở thành phiên hội thoại HotelConnect

- Tương tác giữa task Interface của role Station với task Confirm của role

Matchmaker là phiên hội thoại TrainConnect giữa hai lớp StationAgent và

CHƯƠNG 6: THIẾT KẾ HỆ DỊCH VỤ 123

Các phiên hội thoại biểu diễn tương tác giữa các lớp agent diễn ra ở mức ngữ nghĩa thông qua ontology. Dựa vào ontology đã được xây dựng trong Bước 3 (Pha phân tích), các lớp agent có cách biểu diễn tri thức khác nhau sẽ trao đổi và hiểu được lẫn nhau dựa trên tri thức chung trong ontology.

Chẳng hạn, với khái niệm giá tiền cho chuyến đi, UserAgent biểu diễn bằng “price”, trong khi HotelAgent biểu diễn giá phòng là “RoomCost” và StationAgent biểu diễn giá vé tàu là “TrainCost”. Khi đó, để thương lượng với HotelAgent, UserAgent phải dùng khái niệm “RoomCost” và khi thương lượng với StationAgent, nó lại dùng khái niệm “TrainCost”. Cuối cùng, khi trao đổi kết quả với khách hàng nó lại dùng khái niệm “price”, nhưng nó hiểu rằng, “price” là tương đương với tổng giá trị của “RoomCost” và “TrainCost”.

Một phần của tài liệu Lập trình hướng Agent (Trang 121 - 123)