1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức

79 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,54 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Mạnh Sơn HỆ ĐA AGENT MỞ DỰA TRÊN MƠ HÌNH ROLE VÀ TỔ CHỨC LUẬN VĂN THẠC SĨ Hà Nội - 2009 TIEU LUAN MOI download : skknchat@gmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Mạnh Sơn HỆ ĐA AGENT MỞ DỰA TRÊN MƠ HÌNH ROLE VÀ TỔ CHỨC Ngành: Cơng nghệ thơng tin Chuyên ngành: Công nghệ phần mềm Mã số: 60.48.10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS TRẦN ĐÌNH QUẾ Hà Nội - 2009 TIEU LUAN MOI download : skknchat@gmail.com iii Hệ đa agent mở dựa mơ hình role tổ chức MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC BẢNG BIỂU v DANH MỤC HÌNH VẼ vi KÝ HIỆU VIẾT TẮT vii MỞ ĐẦU CHƢƠNG 1: TỔNG QUAN VỀ HỆ ĐA AGENT MỞ 1.1 Hệ đa agent mở 1.1.1 Hệ đa agent Hệ đa agent mở 1.1.2 Các khái niệm hệ đa agent mở 1.2 Vấn đề phát triển hệ đa agent 1.2.1 Phƣơng pháp luận phát triển hệ đa agent đóng 1.2.2 Phƣơng pháp luận phát triển hệ đa agent mở 1.2.3 Phƣơng pháp luận O-MaSE 11 1.3 Mối quan hệ role mơ hình tổ chức hệ đa agent mở 14 1.3.1 Vai trò role thiết kế hệ đa agent mở 14 1.3.2 Role mơ hình tổ chức hệ đa agent mở 15 1.4 Kết chương 19 CHƢƠNG 2: MƠ HÌNH ROLE TRONG HỆ ĐA AGENT MỞ 20 2.1 Vấn đề xây dựng mơ hình biểu diễn role 20 2.2 Mơ hình biểu diễn role BRAIN Framework 24 2.2.1 Vài nét lịch sử 24 2.2.2 Mơ hình role 25 2.2.3 Biểu diễn role XML 26 2.3 Đại số quan hệ role 28 2.3.1 Quan hệ Bằng nhau: 28 2.3.2 Quan hệ kế thừa 28 TIEU LUAN MOI download : skknchat@gmail.com iv Hệ đa agent mở dựa mơ hình role tổ chức 2.3.3 Quan hệ loại trừ 29 2.3.4 Quan hệ Yêu cầu 31 2.3.5 Quan hệ thêm vào 32 2.3.6 Quan hệ trộn 33 2.3.7 Quan hệ lãnh đạo 33 2.4 So sánh với nghiên cứu liên quan 34 2.5 Kết chương 34 CHƢƠNG 3: KỸ THUẬT GÁN ROLE TRONG HỆ ĐA AGENT MỞ 35 3.1 Vấn đề xây dựng kỹ thuật gán role cho hệ đa agent mở 35 3.2 Mơ hình tổ chức thương mại điện tử 37 3.3 Thuật toán ARA 38 3.4 So sánh nghiên cứu liên quan 41 3.5 Kết chương 41 CHƢƠNG 4: THỬ NGHIỆM HỆ THỐNG ĐA ĐẤU GIÁ 42 4.1 Phân tích yêu cầu hệ thống 42 4.1.1 Mô tả hệ thống 42 4.1.2 Xây dựng mơ hình goal hệ thống 44 4.2 Xây dựng thư viện role 45 4.2.1 Xác định role 45 4.2.2 Quan hệ role 47 4.3 Thiết kế hệ thống 49 4.3.1 Mơ hình lớp agent 49 4.3.2 Thiết kế phân tầng hệ thống sử dụng JADE 51 4.5 Kết cài đặt thử nghiệm 53 4.6 Kết chương 62 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64 PHỤ LỤC 66 TIEU LUAN MOI download : skknchat@gmail.com v Hệ đa agent mở dựa mơ hình role tổ chức DANH MỤC BẢNG BIỂU Bảng 1.1: So sánh phương pháp luận cho hệ đa agent mở 15 Bảng 2.1: Các role hệ thống đấu giá nhiều sản phẩm 24 Bảng 2.2: Biểu diễn role English bidder 26 Bảng 2.3: Ví dụ Quan hệ kế thừa role 29 Bảng 2.4: Ví dụ quan hệ yêu cầu role 32 Bảng 4.1: Các role hệ thống đa đấu giá 46 Bảng 4.2: Các role hệ thống đa đấu giá mô tả theo ba 47 Bảng 4.3: Quan hệ kế thừa role Bidder English Bidder 48 Bảng 4.4: Quan hệ kế thừa role Auctioner English Auctioner 48 Bảng 4.5: Quan hệ yêu cầu role Manager Notifier 49 TIEU LUAN MOI download : skknchat@gmail.com vi Hệ đa agent mở dựa mơ hình role tổ chức DANH MỤC HÌNH VẼ Hình 1.1: Các bước phát triển Gaia Hình 1.2: Mơ hình OMACS 11 Hình 1.3: Các bước phát triển hệ đa agent mở theo O-MaSE 13 Hình 2.1: Tương tác role BRAIN 22 Hình 2.2: Biểu diễn role bidder XML BRAIN Framework 25 Hình 2.3: Biểu diễn role bidder XML 27 Hình 2.4: Ví dụ quan hệ loại trừ role 31 Hình 3.1: Thuật toán gán role cho agent 40 Hình 4.1: Hệ thống đa đấu giá 43 Hình 4.2: Sơ đồ goal hệ thống đa đấu giá 45 Hình 4.3: Mơ hình lớp agent hệ thống đa đấu giá 50 Hình 4.4: Mơ hình kiến trúc JADE 51 Hình 4.5: Thiết kế phân tầng hệ thống dựa JADE 52 Hình 4.6: Khởi động Manager Agent 54 Hình 4.7: Manager Agent đăng ký nhận role Manager 55 Hình 4.8: Khởi động Auctioner Agent 56 Hình 4.9: Đăng ký gán role cho Auctioner Agent 57 Hình 4.10: Auctioner Agent chờ trả giá từ phía Bidder Agent 57 Hình 4.11: Khởi động Bidder Agent 58 Hình 4.12: Gán role cho Bidder Agent 59 Hình 4.13: Khởi động nhiều Bidder Agent 59 Hình 4.14: Gán role cho nhiều Bidder Agent 60 Hình 4.15: Trả giá phiên đấu giá kiểu Anh 61 Hình 4.16: Auctioner đếm thời gian khơng có Bidder trả giá cao 61 Hình 4.17: Kết thúc phiên đấu giá 62 TIEU LUAN MOI download : skknchat@gmail.com vii Hệ đa agent mở dựa mơ hình role tổ chức KÝ HIỆU VIẾT TẮT ACL Agent Communication Language AMS Agent Management System BRAIN Behavior Roles for Agent INteraction DF Directory Facilitator DL Description Language FIPA Foundation for Intelligent Physical Agents GaiaEXOA Gaia Extended with Organisation Abstraction GUI Graphics User Interface JADE Java Agent Development Framework MaSE Multiagent Systems Engineering Methodology O-MaSE Open - Multiagent Systems Engineering Methodology ROADMAP Role Oriented Analysis and Design for Multi-Agent Programming UML Unified Modelling Language XML eXtensible Markup Language TIEU LUAN MOI download : skknchat@gmail.com Mở đầu MỞ ĐẦU Sự phát triển mạnh mẽ môi trƣờng Internet ứng dụng Internet nảy sinh yêu cầu ngày phức tạp đa dạng tính mở tính phân tán cho hệ thống thơng tin nói chung Các hệ thống tính tốn phân tán nhƣ web ngữ nghĩa (Semantic web), tính tốn lƣới (Grid computing), tính tốn khắp nơi (ubiquitous computing), P2P (Peer to Peer), mạng xã hội, đƣợc gọi là hệ tự trị phân tán – mở, hệ thông minh phân tán hay hệ đa agent mở đƣợc quan tâm nghiên cứu phát triển [16] Nếu xét cấu trúc hệ thống đặc trƣng quan trọng hệ thống bao gồm thành phần phần mềm tự chủ, có mục đích đƣợc thiết kế riêng tự gia nhập hay rời khỏi hệ thống Có nhiều vấn đề cần quan tâm nghiên cứu phát triển hệ đa agent mở Trong đó, vấn đề thiết kế hệ đa agent mở dựa tổ chức xã hội với role thu hút đƣợc nhiều quan tâm nghiên cứu ([1 25]) Role hiểu vai trò xác định cho phép agent đảm nhiệm hƣớng tới việc thực số chức hệ thống Trong hệ đa agent đóng, role đƣợc biểu diễn nhƣ nhóm tác vụ (task) cố định trách nhiệm đƣợc xác định trƣớc Trong hệ đa agent mở, role đƣợc gán thay đổi trình tƣơng tác agent Việc agent đảm nhận hay không đảm nhận role dựa khả mục tiêu agent q trình thực thi hệ thống Nhiều vấn đề đƣợc đƣa xem xét nhƣ mơ hình role, quan hệ role, thiết kế dựa role, gán role cho agent…Có nhiều mơ hình biểu diễn role hệ đa agent mở đƣợc đƣa Mỗi mô hình biểu diễn role có quan điểm khác kiểu tổ chức đa agent, role; đƣa cách thức biểu diễn role khác có mô tả khác quan hệ role Tƣơng tự nhƣ vậy, cách tiếp cận nhóm nghiên cứu khác đƣa kỹ thuật gán role khác nhƣng có điểm chung là: kỹ thuật gán role phụ thuộc vào mơ hình tổ chức tƣơng ứng hệ thống Mục tiêu luận văn tìm hiểu tổng quan hệ đa agent mở phát triển hệ đa agent mở, cách tiếp cận mơ hình role gán role hệ đa agent mở TIEU LUAN MOI download : skknchat@gmail.com Mở đầu Sau đó, luận văn phát triển mơ hình role đại số tƣơng tác role dựa mô tả role BRAIN Framework nhóm nghiên cứu Cabri et al ([2 6]) Một thuật toán gán role cho agent hệ đa agent mở đƣợc đƣa thử nghiệm với hệ thống đa đấu giá Nội dung luận văn đƣợc chia thành chƣơng:  Chương 1: Tổng quan hệ đa agent mở Chƣơng giới thiệu tổng quan hệ đa agent đóng mở, khái niệm đặc trƣng hệ đa agent mở Nội dung chƣơng đề cập đến cách tiếp cận phát triển hệ đa agent mở, vấn để role mơ hình tổ chức hệ đa agent mở để làm sở cho chƣơng  Chương 2: Mơ hình role hệ đa agent mở Chƣơng khái quát cách tiếp cận mơ hình hóa role, trình bày chi tiết mơ hình role với thành phần biểu diễn sử dụng XML Dựa mơ hình biểu diễn này, luận văn xây dựng đại số quan hệ tập role  Chương 3: Kỹ thuật gán role hệ đa agent mở Chƣơng khái quát cách tiếp cận gán role cho agent hệ đa agent mở, sau đề xuất thuật tốn gán role áp dụng cho mơ hình tổ chức có agent lãnh đạo  Chương 4: Thử nghiệm hệ thống đa đấu giá Chƣơng giới thiệu toán xây dựng hệ thống đa đấu giá thƣơng mại điện tử, trình bày bƣớc phân tích thiết kế hệ thống áp dụng mơ hình biểu diễn thuật toán gán role xây dựng chƣơng trƣớc Cuối chƣơng số kết cài đặt, thử nghiệm Cuối Kết luận Tài liệu tham khảo Phần phụ lục giới thiệu số phần chƣơng trình thử nghiệm TIEU LUAN MOI download : skknchat@gmail.com Chương 1: Tổng quan hệ đa agent mở CHƢƠNG TỔNG QUAN VỀ HỆ ĐA AGENT MỞ Chƣơng trình bày tổng quan hệ đa agent mở, khái niệm hệ đa agent mở Vấn đề phát triển hệ đa agent mở đƣợc xem xét Phần cuối chƣơng 1, luận văn trình bày khái quát role tổ chức hệ đa agent mở làm sở cho nội dung chƣơng 1.1 Hệ đa agent mở 1.1.1 Hệ đa agent Hệ đa agent mở Sự phát triển mạnh mẽ Internet hệ thống Internet tạo nên hệ thống tính tốn phân tán nhƣ web ngữ nghĩa (Semantic web), tính tốn lƣới (Grid computing), tính tốn khắp nơi (ubiquitous computing), P2P (Peer to Peer), mạng xã hội Các hệ thống đƣợc gọi là hệ tự trị phân tán – mở hay gọi hệ thông minh phân tán Đặc trƣng quan trọng hệ thống bao gồm thành phần phần mềm tự chủ, có mục đích đƣợc thiết kế riêng tự gia nhập hay rời khỏi hệ thống ([16]) TIEU LUAN MOI download : skknchat@gmail.com 58 Chương 4: Thử nghiệm Hệ thống đa đấu giá Tiếp theo, agent Bidder đƣợc khởi động phía Client (Hình 4.11) Sau khởi động, Bidder Agent gửi đăng ký đến Manager Agent, khơng có ràng buộc vi phạm Bidder Agent nhận đƣợc role Bidder tiếp tục tìm kiếm phiên đấu giá phù hợp (Hình 4.12) Có thể khởi động lúc nhiều agent mua với nhiều mức giá tối đa chấp nhận đƣợc khác (Hình 4.13) Hình 4.11: Khởi động Bidder Agent TIEU LUAN MOI download : skknchat@gmail.com 59 Chương 4: Thử nghiệm Hệ thống đa đấu giá Hình 4.12: Gán role cho Bidder Agent Có thể khởi động lúc nhiều Bidder Agent để mua sản phẩm (Hình 4.13) Khi đó, Bidder Agent có ID riêng đƣợc cấp phát role theo thứ tự đăng ký (Hình 4.14) Hình 4.13: Khởi động nhiều Bidder Agent TIEU LUAN MOI download : skknchat@gmail.com 60 Chương 4: Thử nghiệm Hệ thống đa đấu giá Hình 4.14: Gán role cho nhiều Bidder Agent Khi agent đƣợc gán role đầy đủ, phiên đấu giá bắt đầu việc Bidder Agent gửi trả giá đến Auctioner Agent nghe ngóng trả giá Bidder Agent khác trƣớc đƣa mức giá Hình 4.15 ví dụ với trả giá đấu giá kiểu Anh Phía Auctioner Agent sử dụng bƣớc giá liên tục gửi message đến Bidder Agent yêu cầu trả giá mức giá TIEU LUAN MOI download : skknchat@gmail.com 61 Chương 4: Thử nghiệm Hệ thống đa đấu giá Hình 4.15: Trả giá phiên đấu giá kiểu Anh Hình 4.16: Auctioner đếm thời gian khơng có Bidder trả giá cao TIEU LUAN MOI download : skknchat@gmail.com 62 Chương 4: Thử nghiệm Hệ thống đa đấu giá Hình 4.17: Kết thúc phiên đấu giá Trong Hình 4.16, khơng có Bidder Agent trả giá cao hơn, Auctioner Agent đếm ngƣợc kết thúc thời gian phiên đấu giá agent trả giá cuối agent thắng Hình 4.17, Auctioner Bidder liên quan đến phiên đấu giá kết thúc tự hủy role chờ lệnh từ phía ngƣời dùng 4.6 Kết chƣơng Chƣơng trình bày q trình phân tích thiết kế cài đặt thử nghiệm hệ thống đa đấu giá với hai dạng đấu giá đấu giá Anh đấu giá Hà Lan Hệ thống đƣợc phân tích dựa mơ hình role kỹ thuật gán role trình bày chƣơng chƣơng Quá trình thiết kế cài đặt dựa thƣ viện JADE sử dụng lại số ý tƣởng BRAIN Framework Với mục tiêu áp dụng thử nghiệm mơ hình role với ba biểu diễn XML với thuật toán ARA để gán role cho agent nên hệ thống cịn thiếu tính ứng dụng Tuy nhiên, với thƣ viện role có, hệ thống hồn tồn mở rộng để ứng dụng để ứng dụng thực tế TIEU LUAN MOI download : skknchat@gmail.com 63 Kết luận KẾT LUẬN Nội dung luận văn trình bày vấn đề:  Tổng quan hệ đa agent mở, khái niệm đặc trƣng vấn đề đặt phát triển hệ đa agent mở  Role tổ chức đa agent dựa role, vai trò role thiết kế hệ đa agent mở  Tìm hiểu cách tiếp cận mơ hình hóa role hệ đa agent mở Xây dựng mơ hình role với bơ ba Mở rộng mơ hình để xây dựng quan hệ tập role  Tìm hiểu cách tiếp cận việc gán role cho agent Xây dựng thuật toán ARA để gán role cho agent mơ hình tổ chức thƣơng mại điện tử với agent lãnh đạo  Thử nghiệm mơ hình role thuật tốn gán role hệ thống đa đấu giá với hai kiểu đấu giá đấu giá Anh đấu giá Hà Lan Một số vấn đề cần tiếp tục mở rộng nghiên cứu :  Xem xét đầy đủ chi tiết quan hệ khác tập role  Tiếp tục phát triển hệ thống đa đấu giá xem xét đấu giá nhiều thuộc tính chiến lƣợc đấu giá để có hệ thống có tính ứng dụng thực tiễn  Cải tiến áp dụng thuật tốn gán role ARA cho nhiều mơ hình tổ chức khác nhau, xem xét áp dụng cho hệ thống có agent di động (mobile agent) TIEU LUAN MOI download : skknchat@gmail.com 64 Tài liệu tham khảo TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Ben-Ameur, H., Chaib-draa, B and Kropf, P (2002), “Multi-item Auctions for Automatic Negotiation”, Journal of Information and Software Technology, 44:291 301, 2002 Cabri, G., Ferrari, L., Leonardi, L (2004), ―Agent Role-based Collaboration and Coordination: A Survey about existing Approaches”, http://agentgroup.ing.unimo.it/MOON/papers/pdf/SMC04.pdf Cabri, G., Leonardi, L., Zambonelli, F (2003) ―Role-based Interaction Infrastructures for Internet Agents”, http://agentgroup.ing.unimo.it/MOON/papers/pdf/TIS03.pdf Cabri, G., Leonadi, L., Zambonelli, F (2003), “XRole: XML Roles for agent Interaction”, http://www.ofai.at/research/agents/conf/at2ai3/final/at2ai3Cabri.pdf.gz Cabri, G (2006), “Agent Composition via role-based infrastructures”, Scalable Computing: Practice and Experience, Vol 7, No 1, pp 37-47, ISSN: 1895-1767, March 2006 Cabri, G., Ferrari, L., Leonardi, L (2004), ―Rethinking agent roles: Extending the role definition in the BRAIN Framework”, SMC (6) 2004: 5455-5460 Robichez de Carvalho, G., Paes, R., Lucena, C (2005), “Extensions on Interaction Laws in Open Multi-Agent Systems”, http://www.les.inf.pucrio.br/seas2005/file/gCarvalho.pdf Dang, V D., Jennings, N R (2003), “Optimal clearing algorithms for multi-unit single-item and multi-unit combinatorial auctions with demand/supply function bidding.”, ICEC 2003, Pittsburgh, Pennsylvania, USA DeLoach, S.A (2006), “Engineering Organization-Based Multiagent System”, SELMAS 2005, pp.109-125, 2006 DeLoach, S.A., Garcia-Ojeda, J.C., Oyenan, W.H., Velenzuela, J (2006) “OMaSE: A Customizable Approach to Developing Multiagent Development Process”, http://macr.cis.ksu.edu/publications/AOSE_07_OMaSE.pdf DeLoach, S.A., (2007), “Developing a Multiagent Conference Management System Using the O-MaSE Process Framework”, AOSE 2007: 168-181 Dastani, M., Riemsdijk, M B., Hulstijin, J., Dignum, F., Meyer, J C (2004) “Enacting and Deacting Roles in Agent Programming”, In Proc of the 5th Int Workshop on AOSE, page 3382, 2004 Dastani, M., Dignum, V., Dignum, F (2005), “Role-Assignment in Open Agent Societies”, in Proceedings of AAMAS'03 Juan T., Pearce, A, Sterling, L., (2002), ―ROADMAP: Extending the Gaia Methodology for Complex Open Systems”, Proceedings of the 2002 Autonomous Agents and Multi-Agent Systems , http://eprints.kfupm.edu.sa/62757/1/62757.pdf TIEU LUAN MOI download : skknchat@gmail.com 65 Tài liệu tham khảo [15] Horling, B., Lesser, V., (2005) “A Survey of Multi-agent Organizational Paradigms”, The Knowledge Engineering Review, Volume 19, Number 4, Cambridge University Press, pp 281-316 2005 [16] Huynh, T D., Jennings, N R., and Shadbolt, N.R., (2006) ―An integrated trust and reputation model for open multi-agent systems”, Journal of Autonomous Agents and Multi-Agent Systems, 13 (2) pp 119-154 ISSN 1387-2532 [17] van Eijk, R M., de Boer, F S., van der Hoek W., and Meyer, J C., (2000)“Open Multi-Agent Systems: Agent Communication and Integration”, http://eprints.kfupm.edu.sa/55845/1/55845.pdf [18] Karageogos, A., Thompson, S., Mehandjiev, N., (2003),“Specifying reuse concerns in agent system design using a role algebra”, In: Agent Technologies, Infrastructures, Tools, and Applications for e-Services Lecture Notes in Artificial Intelligence LNAI, 2592 Springer-Verlag ISBN 3-540-00742-3 [19] Kendall, E A., (2001), “Agent roles and role models: New abtractions for intelligent agent systems analysis and design”, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.51.6919&rep=rep1&ty pe=pdf [20] Odell, J., Parunak, H.V.D., Brueckner, S., Sauter, J., (2003), “Changing roles: Dynamic role assignment”, Journal of Object Technology, (5) (2003) 77-86 [21] Odell, J., Nodine, M., Levy, R., (2005) “A Metamodel for Agents, Roles and Groups”, In Procs of Agent Oriented Software Engineering Workshop (AOSE2004), 2005 [22] Odell, J., Parunak, H.V.D., Fleischer, M., (2004) “The role of roles in designing effective agent organizations”, In Software Engineering for Large-Scale MultiAgent Systems, LNCS 2603, pages 27—38 [23] Xu, H., Zhang, X., (2005), “A Methodology for role-based modelling of open multi-agent software system”, In Proceedings of the 7th International Conference on Enterprise Information Systems (ICEIS 2005) [24] Xu, H., Zhang, X., Patel, R J., (2007), ―Developing role-based open multi-agent software systems‖, Int J Comput Intell Theory Pract 2, No 1, 39-56 [25] Zambonelli, F., Jennings , N R., Wooldridge, M., (2003) ―Developing multiagent systems: The Gaia methodology”, ACM Transactions on Software Engineering and Methodology (TOSEM), v.12 n.3, p.317-370, July 2003 TIEU LUAN MOI download : skknchat@gmail.com 66 Phụ lục PHỤ LỤC Phần phụ lục giới thiệu số đoạn chƣơng trình định nghĩa khái niệm Ontology hệ thống đa đấu giá ngôn ngữ Java Trong khái niệm này, việc định nghĩa thuộc tính đặc trƣng, chƣơng trình bổ sung hàm mã hóa giải mã khái niệm gửi nhận message dạng XML Price package rolesystem.roles.auction; import java.io.Serializable; public class Price implements Serializable { private double amount; private String currency; private Price() { } public Price(double amount, String currency) { this.amount=amount; this.currency=currency; } public double getAmount() { return amount; } public String getCurrency() { return currency; } public String toString() { return new String(amount+" "+currency); } public String encodeXML(){ return ""+getAmount()+"\n" + ""+getCurrency()+""; TIEU LUAN MOI download : skknchat@gmail.com 67 Phụ lục } public static Price decode(String code){ Price price=new Price(); int amount_length=6; int f_amount=code.indexOf("")+amount_length+2; String amount=code.substring(f_amount,code.indexOf("",f_amount)); int currency_length=8; int f_currency=code.indexOf("")+currency_length+2; String currency=code.substring(f_currency,code.indexOf("",f_currency)); return new Price(Double.valueOf(amount), currency); } public static void main(String[]args){ Price price=Price.decode("10VND"); System.out.println(price); } } Bidder package rolesystem.roles.auction; import rolesystem.core.RoleAction; import rolesystem.roles.KnownEvent; public abstract class Bidder { public static final String ROLE_ID="auction.Bidder"; public static final KnownEvent Auctioner.ROLE_ID, String.class); KE_notifyKind=new KnownEvent("notifyKind", public static final KnownEvent Auctioner.ROLE_ID, String.class); KE_notifyGood=new KnownEvent("notifyGood", public static final KnownEvent KE_notifySituation=new KnownEvent("notifySituation", Auctioner.ROLE_ID, Situation.class); public static final Auctioner.ROLE_ID); KnownEvent KE_auctionOver=new public static final KnownEvent Auctioner.ROLE_ID, Price.class); KE_youWon=new public static final KnownEvent KE_giveGood=new Auctioner.ROLE_ID, java.io.Serializable.class); public static String.class); final KnownEvent KnownEvent("auctionOver", KE_talk=new KnownEvent("youWon", KnownEvent("giveGood", KnownEvent("talk", Bidder.ROLE_ID, public static RoleAction askKind(int addressee) { TIEU LUAN MOI download : skknchat@gmail.com 68 Phụ lục return new RoleAction("askKind", addressee); } public static RoleAction askGood(int addressee) { return new RoleAction("askGood", addressee); } public static RoleAction askSituation(int addressee) { return new RoleAction("askSituation", addressee); } public static RoleAction bid(int addressee, Price content) { return new RoleAction("bid", addressee, content.encodeXML()); } public static RoleAction pay(int addressee, Money content) { return new RoleAction("pay", addressee, content); } public static RoleAction talk(int addressee, String content) { return new RoleAction("talk", addressee, content); } } Auctioner package rolesystem.roles.auction; import rolesystem.core.RoleAction; import rolesystem.roles.KnownEvent; public abstract class Auctioner { public static final String ROLE_ID="auction.Auctioneer"; public static Seller.ROLE_ID); final KnownEvent public static final KnownEvent Seller.ROLE_ID, String.class); public static Bidder.ROLE_ID); final KnownEvent KE_reqSale=new KE_putOnSale=new KE_askKind=new KnownEvent("reqSale", KnownEvent("putOnSale", KnownEvent("askKind", TIEU LUAN MOI download : skknchat@gmail.com 69 Phụ lục public static Bidder.ROLE_ID); final KnownEvent KE_askGood=new KE_askSituation=new KnownEvent("askGood", public static final Bidder.ROLE_ID); KnownEvent KnownEvent("askSituation", public static String.class); final KnownEvent KE_bid=new KnownEvent("bid", Bidder.ROLE_ID, public static Money.class); final KnownEvent KE_pay=new KnownEvent("pay", Bidder.ROLE_ID, public static RoleAction saleAccepted(int addressee) { return new RoleAction("saleAccepted", addressee); } public static RoleAction saleRefused(int addressee) { return new RoleAction("saleRefused", addressee); } public static RoleAction unsold(int addressee) { return new RoleAction("unsold", addressee); } public static RoleAction pay(int addressee, Money content) { return new RoleAction("pay", addressee, content); } public static RoleAction notifyKind(int addressee, String content) { return new RoleAction("notifyKind", addressee, content); } public static RoleAction notifyGood(int addressee, String content) { return new RoleAction("notifyGood", addressee, content); } public static RoleAction notifySituation(int addressee, Situation content) { return new RoleAction("notifySituation", addressee, content); } TIEU LUAN MOI download : skknchat@gmail.com 70 Phụ lục public static RoleAction auctionOver(int addressee) { return new RoleAction("auctionOver", addressee); } public static RoleAction youWon(int addressee, Price content) { return new RoleAction("youWon", addressee, content); } public static RoleAction giveGood(int addressee, java.io.Serializable content) { return new RoleAction("giveGood", addressee, content); } } Sale package rolesystem.roles.auction; import java.io.Serializable; public class Sale implements Serializable { private Price reserve; private String goodDesc; private Serializable good; private Sale() { } public Sale(Price reserve, String goodDesc, Serializable good) { this.reserve = reserve; this.goodDesc = goodDesc; this.good = good; } public Price getReserve() { return reserve; } public String getGoodDesc() { return goodDesc; } public Serializable getGood() { return good; } public String getGoodXML() { TIEU LUAN MOI download : skknchat@gmail.com 71 Phụ lục return good.toString(); } public String encodeXML() { return "" + getReserve().encodeXML() + "\n" + "" + getGoodDesc() + "\n" + "" + getGood() + ""; } public static Sale decode(String code) { Sale sale = new Sale(); int reserve_length = 7; int f_reserve = code.indexOf("") + reserve_length + 2; String f_reserve)); reserve = code.substring(f_reserve, code.indexOf("", int good_desc_length = 9; int f_good_desc = code.indexOf("") + good_desc_length + 2; String good_desc = code.substring(f_good_desc, code.indexOf("", f_good_desc)); int good_length = 4; int f_good = code.indexOf("") + good_length + 2; String good= code.substring(f_good, code.indexOf("", f_good)); Price price=Price.decode(reserve); return new Sale(price,good_desc,good); } } Money package rolesystem.roles.auction; import java.io.Serializable; public class Money implements Serializable { private Price amount; private Money() { } public Money(Price amount) { this.amount=amount; TIEU LUAN MOI download : skknchat@gmail.com 72 Phụ lục } public Price getAmount() { return amount; } // XML encode public String encodeXML(){ return getAmount().encodeXML(); } public static Money decode(String code){ return new Money(Price.decode(code)); } } TIEU LUAN MOI download : skknchat@gmail.com ... Tổng quan hệ đa agent mở 1.3 Mối quan hệ role mơ hình tổ chức hệ đa agent mở 1.3.1 Vai trò role thiết kế hệ đa agent mở Nhƣ trình bày phần 1.1, role khái niệm quan trọng xem xét hệ đa agent mở. .. skknchat@gmail.com Chương 1: Tổng quan hệ đa agent mở CHƢƠNG TỔNG QUAN VỀ HỆ ĐA AGENT MỞ Chƣơng trình bày tổng quan hệ đa agent mở, khái niệm hệ đa agent mở Vấn đề phát triển hệ đa agent mở đƣợc xem xét Phần... mơ hình tổ chức hệ đa agent mở 14 1.3.1 Vai trò role thiết kế hệ đa agent mở 14 1.3.2 Role mơ hình tổ chức hệ đa agent mở 15 1.4 Kết chương 19 CHƢƠNG 2: MƠ HÌNH ROLE TRONG HỆ

Ngày đăng: 27/06/2022, 15:35

HÌNH ẢNH LIÊN QUAN

DỰA TRÊN MÔ HÌNH ROLE VÀ TỔ CHỨC - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
DỰA TRÊN MÔ HÌNH ROLE VÀ TỔ CHỨC (Trang 1)
DỰA TRÊN MÔ HÌNH ROLE VÀ TỔ CHỨC - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
DỰA TRÊN MÔ HÌNH ROLE VÀ TỔ CHỨC (Trang 2)
Hình 1.3: Các bước phát triển hệ đa agent mở theo O-MaSE - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 1.3 Các bước phát triển hệ đa agent mở theo O-MaSE (Trang 20)
Bảng 1.1: So sánh các phương pháp luận cho hệ đa agent mở - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Bảng 1.1 So sánh các phương pháp luận cho hệ đa agent mở (Trang 22)
Hình 2.1: Tương tác giữa các role trong BRAIN - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 2.1 Tương tác giữa các role trong BRAIN (Trang 29)
Bảng 2.1: Các role trong hệ thống đấu giá nhiều sản phẩm - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Bảng 2.1 Các role trong hệ thống đấu giá nhiều sản phẩm (Trang 31)
Hình 2.2: Biểu diễn role bidder bằng XML trong BRAIN Framework - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 2.2 Biểu diễn role bidder bằng XML trong BRAIN Framework (Trang 32)
Hình 2.3: Biểu diễn role bidder bằng XML - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 2.3 Biểu diễn role bidder bằng XML (Trang 34)
Bảng 2.4: Ví dụ về quan hệ yêu cầu giữa các role - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Bảng 2.4 Ví dụ về quan hệ yêu cầu giữa các role (Trang 39)
Thuật toán dạng giả mã đƣợc mô tả nhƣ trong Hình 3.1. Trong thuật toán này: - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
hu ật toán dạng giả mã đƣợc mô tả nhƣ trong Hình 3.1. Trong thuật toán này: (Trang 46)
Hình 3.1: Thuật toán gán role cho agent - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 3.1 Thuật toán gán role cho agent (Trang 47)
Hình 4.1: Hệ thống đa đấu giá - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.1 Hệ thống đa đấu giá (Trang 50)
4.2 Xây dựng thƣ việnrole - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
4.2 Xây dựng thƣ việnrole (Trang 52)
Hình 4.2: Sơ đồ goal của hệ thống đa đấu giá - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.2 Sơ đồ goal của hệ thống đa đấu giá (Trang 52)
Bảng 4.2: Các role trong hệ thống đa đấu giá mô tả theo bộ ba <Q, C, B> - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Bảng 4.2 Các role trong hệ thống đa đấu giá mô tả theo bộ ba <Q, C, B> (Trang 54)
Bảng 4.5: Quan hệ yêu cầu giữa các role Manager và Notifier - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Bảng 4.5 Quan hệ yêu cầu giữa các role Manager và Notifier (Trang 56)
Hình 4.3: Mô hình các lớp agent trong hệ thống đa đấu giá - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.3 Mô hình các lớp agent trong hệ thống đa đấu giá (Trang 57)
Hình 4.4: Mô hình kiến trúc của JADE - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.4 Mô hình kiến trúc của JADE (Trang 58)
Dựa trên thƣ viện JADE và mô hình các lớp agent, hệ thống có thể đƣợc thiết kế phân tầng nhƣ trong Hình 4.4 - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
a trên thƣ viện JADE và mô hình các lớp agent, hệ thống có thể đƣợc thiết kế phân tầng nhƣ trong Hình 4.4 (Trang 59)
Phần này sẽ giới thiệu một số giao diện kết quả cài đặt hệ thống đa đấu giá. Hình 4.6  mô tả quá trình khởi động Manager Agent trên Server - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
h ần này sẽ giới thiệu một số giao diện kết quả cài đặt hệ thống đa đấu giá. Hình 4.6 mô tả quá trình khởi động Manager Agent trên Server (Trang 61)
Hình 4.7: ManagerAgent đăng ký và nhận role Manager - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.7 ManagerAgent đăng ký và nhận role Manager (Trang 62)
Hình 4.8: Khởi động Auctioner Agent - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.8 Khởi động Auctioner Agent (Trang 63)
Hình 4.10: Auctioner Agent chờ trả giá từ phía Bidder Agent - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.10 Auctioner Agent chờ trả giá từ phía Bidder Agent (Trang 64)
Tiếp theo, các agent Bidder sẽ đƣợc khởi động ở phía Client (Hình 4.11). Sau khi khởi động, Bidder Agent sẽ gửi đăng ký đến Manager Agent, nếu không có ràng buộc  nào vi phạm thì Bidder Agent sẽ nhận đƣợc role Bidder và tiếp tục tìm kiếm phiên đấu  giá ph - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
i ếp theo, các agent Bidder sẽ đƣợc khởi động ở phía Client (Hình 4.11). Sau khi khởi động, Bidder Agent sẽ gửi đăng ký đến Manager Agent, nếu không có ràng buộc nào vi phạm thì Bidder Agent sẽ nhận đƣợc role Bidder và tiếp tục tìm kiếm phiên đấu giá ph (Trang 65)
Hình 4.13: Khởi động nhiều Bidder Agent - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.13 Khởi động nhiều Bidder Agent (Trang 66)
Hình 4.12: Gán role cho Bidder Agent - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.12 Gán role cho Bidder Agent (Trang 66)
Hình 4.15: Trả giá trong phiên đấu giá kiểu Anh - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.15 Trả giá trong phiên đấu giá kiểu Anh (Trang 68)
Hình 4.16: Auctioner đếm thời gian khi không có Bidder nào trả giá cao hơn - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.16 Auctioner đếm thời gian khi không có Bidder nào trả giá cao hơn (Trang 68)
Hình 4.17: Kết thúc phiên đấu giá - (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.17 Kết thúc phiên đấu giá (Trang 69)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w