4.2 Xây dựng thƣ viện role
4.2.1 Xác định các role
Phần này xác định các role trong hệ thống và gắn tƣơng ứng mỗi role với một hoặc một vài goal mà nó đảm nhận. Trong hệ thống đa đấu giá, các role thƣờng chỉ liên quan đến một goal cụ thể.
STT Tên role Mô tả Goal tương ứng
Manager Quản lý chung Manage Auction
Notifier Thông báo kết quả phiên đấu giá Inform Winner
Auctioner Ngƣời bán hàng theo kiểu đấu giá
Buy an item
Bidder Ngƣời mua hàng theo kiểu đấu giá
Sell an item
English Auctioner Bán theo Đấu giá kiểu Anh Sell with English Auction
Dutch Auctioner Bán theo Đấu giá kiểu Hà Lan Sell with Dutch Auction
Seal-bid Auctioner Bán theo Đấu giá kín Sell Seal-bid English Auction
Reverve Auctioner Bán theo Đấu giá ngƣợc Sell with Reverse Auction
English Bidder Mua theo Đấu giá kiểu Anh Bid with English Auction
Dutch Bidder Mua theo Đấu giá kiểu Hà Lan Bid with Dutch Auction
Seal-bid Bidder Mua theo Đấu giá kín Bid Seal-bid English Auction
Reverve Bidder Mua theo Đấu giá ngƣợc Bid with Reverse Auction
Bảng 4.1: Các role trong hệ thống đa đấu giá.
Tiếp theo, các role sẽ đƣợc mô tả chi tiết với các thành phần <Q,C,B> theo mô hình role trong chƣơng 2.
Tên role Manager
Q has an manager account, know all auction rule
C Agent management, role allocating
B accept register, inform winner, allocate role
Notifier
Q has an manager account, know all auction rule
C Notifying
B Inform winner
Bidder
Q has an account, know one auction rule
C join an auction, re-bid
B bid, re-bid, payment
Auctioner
Q has an account, know one auction rule
C join an auction, inform first price
B Choose first price, payment
English Bidder
Q has an account, know English auction rule
C join an English auction, re-bid
Q has an account, know Dutch auction rule
C join an Dutch auction, re-bid
B bid, re-bid, payment
Seal-bid Bidder
Q has an account, know Seal-bid auction rule
C join an Seal-bid auction, re-bid
B bid, re-bid, payment
Reverse Bidder
Q has an account, know Reverse auction rule
C join an Reverse auction, re-bid
B bid, re-bid, payment
English Auctioner
Q has an account, know English auction rule
C join an English auction, inform first price
B Choose first price, payment
Dutch Auctioner
Q has an account, know Dutch auction rule
C join an Dutch auction, inform first price
B Choose first price, payment
Seal-bid Auctioner
Q has an account, know Seal-bid auction rule
C join an Seal-bid auction, re-bid
B Choose first price, payment
Reverse Auction
Q has an account, know Reverse auction rule
C join an Reverse auction, inform first price
B Choose first price, payment
Bảng 4.2: Các role trong hệ thống đa đấu giá mô tả theo bộ ba <Q, C, B>
4.2.2 Quan hệ giữa các role
Với các role đã định nghĩa trong phần 4.2.1, dựa trên các quan hệ đƣợc xây dựng ở chƣơng 2, các role trong hệ thống đa đấu giá sẽ có các quan hệ: kế thừa, loại trừ, yêu cầu, thêm vào và lãnh đạo.
Quan hệ kế thừa
Quan hệ giữa role Bidder và các role English Bidder, Dutch Bidder, Seal-bid Bidder và Reverse Bidder là quan hệ kế thừa vì tập <Q, C, B> của role Bidder
Tên role Bidder English Bidder
Q has an account has an account, know English auction rule
C Re-bid Join an English auction, re-bid
B Bid, rebid, payment Bid, re-bid, payment
Bảng 4.3: Quan hệ kế thừa giữa role Bidder và English Bidder
Quan hệ giữa role Auctioner và các role English Auctioner, Dutch Auctioner, Seal-bid Auctioner và Reverse Auctioner là quan hệ kế thừa vì tập <Q, C, B> của role Auctioner là tập con của <Q, C, B> trong các role còn lại.
Tên role Auctioner English Auctioner
Q has an account, know one auction rule
has an account, know English auction rule
C join an auction, inform first price
join an English auction, inform first price
B Choose first price, payment
Choose first price, payment
Bảng 4.4: Quan hệ kế thừa giữa role Auctioner và English Auctioner
Quan hệ loại trừ
Trong hệ thống đấu giá nhiều sản phẩm, quan hệ loại trừ xuất hiện giữa role
Manager với Bidder, giữa Manager với Auctioner (đã nhận vai trò quản lý chung thì
không nhận vai trò ngƣời mua hoặc bán). Tuy nhiên, quan hệ này không thể hiện trong mô tả <Q,C,B> của các role này. Nhƣ trong chƣơng 2 đã trình bày, để mô tả quan hệ loại trừ, ta cần thêm vào biểu diễn XML thẻ <incompatitive>. Trong hệ thống đa đấu giá, khi nhập vào một role, nếu role đó có quan hệ không tƣơng thích với một role khác thì cần cho phép ngƣời sử dụng xác định quan hệ đó.
Quan hệ yêu cầu
Trong hệ thống này, role Manager và Notifier là hai role có quan hệ yêu cầu
(agent đã đảm nhiệm role Manager thì cũng đảm nhiệm luôn role Notifier). Bảng 4 mô tả hai role này theo các tập <Q, C, B>.
Tên role Manager Notifier
Q Has an admin
account
Has an admin account
C Creating an auction, assigning role
Notifying
B Create, assign Notify
Bảng 4.5: Quan hệ yêu cầu giữa các role Manager và Notifier
Quan hệ thêm vào
Trong hệ thống này, role Bidder và Auctioner có quan hệ thêm vào. Các role con thuộc các kiểu này cũng có quan hệ thêm vào (một ngƣời mua có thể cùng một lúc tham gia nhiều phiên đấu giá hoặc cũng có thể vừa đóng vai trò ngƣời mua, vừa đóng vai trò ngƣời bán (nhƣng phải trong các phiên đấu giá khác nhau)).
Quan hệ lãnh đạo
Trong hệ thống này: role Manager (quản lý chung) có thể xem là một Leader Role và sẽ có quan hệ lãnh đạo các role khác.
4.3 Thiết kế hệ thống
Phần này trình bày thiết kế hệ thống đa đấu giá. Pha thiết kế gồm hai bƣớc: Xây dựng mô hình lớp agent và Thiết kế phân tầng hệ thống sử dụng thƣ viện JADE. Các thiết kế chi tiết cho cài đặt hệ thống xin phép không trình bày trong luận văn.
4.3.1 Mô hình lớp agent
Với các role và quan hệ đã có trong pha phân tích, bƣớc này xác định các lớp agent và quan hệ giữa các lớp này. Các lớp agent
Hình 4.3 minh họa các lớp agent và quan hệ giữa các lớp này. Các agent bao gồm:
Manager Agent: agent quản lý, thực hiện các chức năng là quản lý thƣ việnrole,
quản lý agent và gán role cho agent
Bidder Agent: Khi nhận đƣợc role, các Bidder Agent sẽ đƣợc tham gia trả giá
để mua sản phẩm.
Auctioner Agent: Khi đăng ký bán sản phẩm, agent tƣơng ứng sẽ nhận đƣợc
Tƣơng tác giữa các lớp agent đều tham chiếu qua ontology chung của hệ thống. Tuy nhiên, các bƣớc xây dựng ontology không trình bày trong tài liệu này. Trong phần phụ lục sẽ giới thiệu một số cài đặt trên Java của các khái niệm trong ontology của hệ thống đa đấu giá.