CHƢƠNG 2 : MÔ HÌNH ROLE TRONG HỆ ĐA AGENT MỞ
2.2. Mô hình biểu diễn role trong BRAIN Framework
Phần này sẽ trình bày mô hình biểu diễn role của nhóm Zambonelli ([2], [3], [4], [5], [6]) theo dạng hình thức và dạng sử dụng XML.
2.2.1 Vài nét lịch sử
Năm 2003, nhóm tác giả Zambonelli et.al đã đƣa ra biểu diễn role dựa trên tập khả năng (capacities) và các hành vi mong muốn ([3]). Mô hình này đã đƣợc cài đặt thành công trong BRAIN Framework. Quá trình gán role trong BRAIN đƣợc mô tả nhƣ trong Hình 2.1. Ngoài ra, nhóm đã đƣa ra phƣơng pháp biểu diễn role sử dụng XML (XRole). Một biểu diễn diễn XML ví dụ cho role Bidder đƣợc biểu diễn nhƣ trong Hình 2.2.
Tuy nhiên, trong nghiên cứu gần đây ([4], [5], [6]), nhóm nghiên cứu này đã đi sâu phân tích một số hạn chế của mô hình biểu diễn role chỉ dựa trên tập khả năng và hành vi mong muốn. Đó là:
Mô hình này chƣa cho phép biểu diễn sự thay đổi có tính liên tục của một agent trƣớc, trong và sau khi gán role.
Trƣớc khi nhận đƣợc role mới, agent sẽ không có khả năng và các hành vi cho phép của role đó. Điều này là không thực tế vì quá trình thay đổi role thƣờng diễn ra theo từng bƣớc.
Để giải quyết vấn đề này, trong [6] đã đƣa ra thêm một khái niệm mới là tập
yêu cầu khởi đầu (starting requirements) của role. Đây là tập các yêu cầu mà một
agent cần đạt đƣợc (đầy đủ) trƣớc khi đảm nhiệm role.
Hình 2.2: Biểu diễn role bidder bằng XML trong BRAIN Framework
2.2.2 Mô hình role
Phần này đƣa ra mô hình role và các khái niệm liên quan dựa trên việc bổ sung khái niệm tập yêu cầu khởi đầu.
Khái niệm tập role: Tập role được định nghĩa là tập R = {ri}: tập các role đang tồn tại, trong đó ri = <Qi, Ci, Bi> với Qi là tập các yêu cầu ban đầu cho role ri, Ci là tập khả năng sẽ gán cho agent đảm nhiệm role, Bi là tập hành vi mong muốn cần agent đảm nhiệm role phải thực hiện.
Ngữ cảnh tương tác giữa các role ri và rj được định nghĩa là: ctx ri rj,i,j card(R), ri, rj R.
<?xml version="1.0" encoding="UTF-8"?>
<role xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="XRole.xsd">
<name>bidder</name> <context>auction</context> <description>
This role is the bidder of an auction. </description> <keyword>auction</keyword> <keyword>bidder</keyword> ... <action> <name>bid</name> <description>Makes a bid.</description> <content> <description>Bid.</description> <type>Price</type> </content> </action> ... </role>
gồm tập các liên kết có thể có giữa hai role ri và rj như: ràng buộc hay tính không tương thích.
Gán role: Gán một role cho một agent được định nghĩa là một bộ p = (ri, ) với ý nghĩa là agent được đảm nhiệm role ri R.
Xét trong hệ thống đấu giá nhiều sản phẩm, role English Bidder (ngƣời mua theo đấu giá kiểu Anh) có thể đƣợc biểu diễn bởi các tập <Q, C, B> nhƣ sau:
Tên role English Bidder
Q has an account, know English auction rule
C join an English auction, re-bid
B bid, re-bid, payment
Bảng 2.2: Biểu diễn role English bidder
2.2.3 Biểu diễn role bằng XML
Với biểu diễn role theo ba tập (Q, C, B) nhƣ trong Định nghĩa 1, chúng ta có
thể biểu diễn role English Bidder theo dạng XML nhƣ trong Hình 2.3. Trong biểu diễn này:
Thẻ require mô tả tập yêu cầu khởi đầu cho role
Thẻ capacity mô tả tập khả năng gắn thêm cho agent khi đảm nhiệm
role
Hình 2.3: Biểu diễn role bidder bằng XML <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?> <role xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:noNamespaceSchemaLocation="XRole.xsd"> <name>bidder</name>
<context>auction</context> <description>
This role is the bidder of an auction. </description> <keyword>auction</keyword> <keyword>bidder</keyword> ... <require> <name>account</name>
<description>has a valid account to bid</description> </require> … <capacity> <name>join</name> <description>join an auction</description> </capacity> <capacity> <name>re_bid</name>
<description>make more than one bid</description> </capacity> …. <behavior> <name>bid</name> <description>Makes a bid.</description> <content> <description>Bid.</description> <type>Price</type> </content> </behavior> ... </role>