Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
2,39 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ HỒ VĂN BẢO TÌM KIẾM VÀ TÍCH HỢP THƠNG TIN SỬ DỤNG AGENT PHẦN MỀM LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2013 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ HỒ VĂN BẢO TÌM KIẾM VÀ TÍCH HỢP THƠNG TIN SỬ DỤNG AGENT PHẦN MỀM 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Ĩ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN VIỆT HÀ Hà Nội - 2013 i LỜI CAM ĐOAN Tôi xin cam đoan kết đạt đƣợc luận văn sản phẩm riêng cá nhân tôi, không chép lại ngƣời khác Trong toàn nội dung luận văn, điều trình bày cá nhân tơi đƣợc tổng hợp từ nhiều nguồn tài liệu Tất nguồn tài liệu tham khảo có xuất xứ rõ ràng đƣợc trích dẫn hợp pháp Tơi xin chịu tồn trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, tháng 12 năm 2013 Hồ Văn Bảo ii LỜI CẢM ƠN Lời cho phép đƣợc bày tỏ lòng biết ơn sâu sắc cảm ơn chân thành tới PGS.TS Nguyễn Việt Hà - Trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội - dành nhiều thời gian quí báu để tận tình hƣớng dẫn, dìu dắt, bảo định hƣớng cho tơi suốt thời gian hồn thành luận văn Tơi xin bày tỏ lịng biết ơn tới thầy cô giáo Khoa Công nghệ Thông tin Trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội truyền đạt kiến thức, kinh nghiệm quý báu suốt thời gian học tập trƣờng Tôi xin gửi lời cảm ơn sâu sắc tới Ban Giám đốc đồng nghiệp Trung tâm Tin học Thống kê Khu vực I - Tổng cục Thống kê tạo điều kiện thuận lợi cho suốt trình học tập thực luận văn Tôi xin chân thành cảm ơn bạn bè gia đình, ngƣời thân ln bên khuyến khích, động viên ủng hộ tơi q trình học tập hoàn thành luận văn Do thời gian trình độ có hạn nên luận văn khơng thể tránh khỏi thiếu sót Rất mong nhận đƣợc đóng góp ý kiến thầy giáo, đồng nghiệp, bạn bè, quý vị quan tâm để luận văn đƣợc hoàn thiện Trân trọng cảm ơn! Hà Nội, tháng 12 năm 2013 Hồ Văn Bảo iii MỤC LỤC MỞ ĐẦU CHƢƠNG 1: CÔNG NGHỆ PHẦN MỀM HƢỚNG TÁC TỬ 1.1 Khái niệm tác tử 1.1.1 Định nghĩa tác tử 1.1.2 Phân loại tác tử 1.1.2.1 Tác tử phần mềm 1.1.2.2 Tác tử tự trị 1.1.2.3 Tác tử tƣơng tác 1.1.2.4 Tác tử thích nghi 1.1.2.5 Tác tử di động 1.1.2.6 Tác tử phối hợp 1.1.2.7 Tác tử thông minh 1.1.2.8 Tác tử wrapper 1.2 Công nghệ phần mềm hƣớng tác tử 1.2.1 Phần mềm hƣớng tác tử gì? 1.2.2 Mơ hình hóa tác tử 10 1.2.3 Phân tích thiết kế hƣớng tác tử 10 1.2.3.1 Phƣơng pháp tiếp cận hình thức 10 1.2.3.2 Phƣơng pháp tiếp cận khơng hình thức 11 1.3 Công nghệ tác tử 11 1.3.1 Truyền thông tác tử 11 1.3.1.1 Các ngôn ngữ truyền thông tác tử 11 1.3.1.2 Cơ chế truyền tải thông điệp 12 1.3.1.3 Truyền thông Ontology 12 1.3.1.4 Các giao thức tƣơng tác tác tử 12 1.3.2 Quản lý vòng đời tác tử 13 1.3.2.1 Thời gian tồn tác tử 13 1.3.2.2 Quá trình hoạt động tác tử 13 1.3.2.3 Phân lớp động đa phân lớp 14 iv 1.3.3 Tính di động 14 1.3.4 Nguyên lý hoạt động tác tử di động 14 1.3.4.1 Vòng đời tác tử di động 14 1.3.4.2 Cơ chế di chuyển tác tử di động 14 CHƢƠNG 2: NỀN TẢNG JADE (JAVA AGENT DEVELOPMENT FRAMEWORK) 15 2.1 Nền tảng JADE 15 2.1.1 Khái niệm JADE 15 2.1.2 Kiến trúc tảng JADE 15 2.2 Giao tiếp tác tử JADE 17 2.3 Dịch vụ di động liên (Inter-platform) 19 2.4 JadeGateway 20 CHƢƠNG 3: PHƢƠNG PHÁP TÌM KIẾM VÀ TÍCH HỢP THƠNG TIN SỬ DỤNG TÁC TỬ PHẦN MỀM 21 3.1 Tìm kiếm thơng tin 21 3.1.1 Tổng quan tìm kiếm thơng tin hệ phân tán 21 3.1.2 Kiến trúc tổng quan hệ thống tìm kiếm thông tin hệ đa tác tử 22 3.2 Tổng quan tích hợp thơng tin 22 3.2.1 Khái niệm tích hợp thơng tin 22 3.2.2 Mức độ tích hợp thơng tin 23 3.2.3 Một số phƣơng pháp tích hợp thơng tin 24 3.2.3.1 Tích hợp thơng tin dựa ƣớc lƣợng khơng chắn 24 3.2.3.2 Tích hợp thơng tin dựa ràng buộc liệu 25 3.2.3.3 Tích hợp thơng tin tự động dựa ontology 25 3.3 Hệ đa tác tử tích hợp thơng tin 26 3.3.1 Hệ đa tác tử 26 3.3.2 Mối quan hệ hệ đa tác tử tích hợp thơng tin 27 3.3.3 Ontology vấn đề liên quan 28 3.3.3.1 Khái niệm 28 3.3.3.2 Các thành phần ontology 28 v 3.3.3.3 Phân loại ontology 29 3.3.3.4 Các công cụ phát triển Ontology 30 3.3.3.5 Các ngôn ngữ Ontology 31 3.4 Một số hệ thống tích hợp thơng tin thực tế 32 CHƢƠNG 4: TÌM KIẾM VÀ TÍCH HỢP THƠNG TIN BÁN CẤU TRÚC SỬ DỤNG TÁC TỬ PHẦN MỀM 33 4.1 Bài toán nghiên cứu 33 4.2 Giới thiệu hệ thống 33 4.3 Xây dựng hệ thống thử nghiệm 34 4.3.1 Thiết kế kiến trúc hệ thống 35 4.3.1.1 Tầng trình diễn 36 4.3.1.2 Tầng trung tâm 37 4.3.1.3 Tầng tìm kiếm 40 4.3.1.4 Tầng tài nguyên 41 4.3.2 Từ điển siêu liệu dựa ontology 41 4.3.2.1 Biểu diễn mức khái niệm 41 4.3.2.2 Biểu diễn mức vật lý 42 4.3.3 Từ điển siêu liệu dựa XML 43 4.3.4 Xử lý tìm kiếm tích hợp thơng tin nguồn liệu 44 4.3.4.1 Xử lý tìm kiếm nguồn thơng tin 44 4.3.4.2 Xử lý tích hợp nguồn thông tin 46 4.3.5 Tác tử thông minh XML - Chuyển đổi truy vấn từ SQL sang XQuery 47 4.3.6 Thiết kế chi tiết 50 4.3.6.1 Biểu đồ ca sử dụng tác tử 50 4.3.6.2 Đặc tả tác tử 51 4.3.6.3 Sơ đồ lớp tác tử tìm kiếm tích hợp thơng tin 53 4.4 Thực nghiệm 55 4.4.1 Mơ tả tốn thực nghiệm 55 4.4.2 Cài đặt công cụ kết thử nghiệm 56 4.4.2.1 Cài đặt JADE 56 vi 4.4.2.2 Công cụ xây dựng ontology lớp java ontology 56 4.4.2.3 Lớp tác tử Mediator Agent 58 4.4.2.4 Phần kết nối sở liệu MySQL tác tử wrapper (LocalDBAgent) 59 4.4.2.5 Giao diện chạy tác tử 61 4.4.2.6 Kết tìm kiếm tích hợp thơng tin trả cho ngƣời sử dụng 61 KẾT LUẬN 62 TÀI LIỆU THAM KHẢO 63 vii DANH MỤC CÁC CHỮ VIẾT TẮT ACL Agent Communication Language AOSE Agent Oriented Software Engineering BDI Belief - Desire - Intention CSDL Cơ sở liệu DAML + OIL DARPA Agent Markup Language + Ontology Interface Layer DIR Distributed Information Retrieval DTD Document Type Definiton EER Extended Entity-Relationship FIPA Foundation for Intelligent Physical Agent IRS Information Retrieval System JADE Java Agent DEvelopment Framework JDBC Java Database Connectivity JDK Java Development Kit J2EE Java Enterprise Edition KQML Knowledge Query and Manipulation Language LAN Local Area Network MAS Multi-Agent System ODBC Open DataBase Connection ODL Object Definition Language ODM Object Database Management OEM Object Exchange Model OMG Object Management Group ODMG Object Data Management Group RPC Remote Procedure Call SQL Structure Query Language XML eXtensible Markup Language viii DANH MỤC HÌNH VẼ Hình 2.1 - Các thành phần kiến trúc JADE 15 Hình 2.2 - Dịch vụ trang vàng (Yellow pages service) 17 Hình 2.3 - Giao diện quản lý tác tử JADE 18 Hình 2.4 - Mơ hình truyền thơng điệp khơng đồng tác tử 19 Hình 2.5 - Di chuyển liên tác tử di động 19 Hình 2.6 - Mơ hình tƣơng tác servlet với tác tử thơng qua JadeGateway 20 Hình 3.1 - Sơ đồ tổng quát hệ thống thu thập thông tin từ nhiều nguồn liệu 21 Hình 3.2 - Kiến trúc hệ thống tìm kiếm thơng tin hệ đa tác tử 22 Hình 4.1 - Mơ hình tổng quan hệ thống tìm kiếm tích hợp thơng tin 34 Hình 4.2 - Kiến trúc hệ thống tìm kiếm tích hợp thơng tin tốn nghiên cứu 36 Hình 4.3 - Kết hợp kết đƣợc tạo từ nguồn liệu vào liệu XML hợp 40 Hình 4.4 - Một ví dụ ontology mức khái niệm 42 Hình 4.5 - Một ví dụ ontology mức vật lý 43 Hình 4.6 - Cấu trúc từ điển siêu liệu theo định dạng XML-DTD 44 Hình 4.7 - Phân rã giao dịch toàn cục thành giao dịch phù hợp với nguồn thông tin vật lý 46 Hình 4.8 - Tích hợp kết XML thành liệu XML hợp 47 Hình 4.9 - Biểu đồ ca sử dụng cho tác tử giao diện ngƣời sử dụng User Interface Agent 50 Hình 4.10 - Biểu đồ ca sử dụng tác tử Search Agent 50 Hình 4.11 - Biểu đồ ca sử dụng cho tác tử trung tâm Mediator Agent 51 Hình 4.12 - Biểu đồ ca sử dụng cho tác tử LocalDB Agent 51 Hình 4.13 - Cấu trúc tác tử User Interface Agent 51 Hình 4.14 - Cấu trúc tác tử Mediator Agent 52 Hình 4.15 - Cấu trúc tác tử Search Agent 52 Hình 4.16 - Cấu trúc tác tử LocalDB Agent 52 Hình 4.17 - Sơ đồ lớp tác tử tìm kiếm tích hợp thơng tin 53 50 tạo siêu liệu cấu trúc SQL từ tài liệu XML Lồng vào nút bên nút phần tử đƣợc biên dịch nhƣ kết câu lệnh GROUP BY Các thuộc tính nút phần tử xem xét nhƣ phần tử Sau đó, tài liệu XML đƣợc chuyển đổi sang kết SQL dựa siêu liệu nhận đƣợc 4.3.6 Thiết kế chi tiết 4.3.6.1 Biểu đồ ca sử dụng tác tử Hình 4.9 - Biểu đồ ca sử dụng cho tác tử giao diện ngƣời sử dụng User Interface Agent Hình 4.10 - Biểu đồ ca sử dụng tác tử Search Agent 51 Hình 4.11 - Biểu đồ ca sử dụng cho tác tử trung tâm Mediator Agent Hình 4.12 - Biểu đồ ca sử dụng cho tác tử LocalDB Agent 4.3.6.2 Đặc tả tác tử Tác tử User Interface Agent: tác tử cho phép ngƣời sử dụng tƣơng tác với hệ thống (xem hình 4.13) Nó tác tử tĩnh có trách nhiệm thu nhận tồn yêu cầu ngƣời sử dụng, gửi yêu cầu cho tác tử phù hợp với yêu cầu hiển thị kết cho ngƣời sử dụng Hình 4.13 - Cấu trúc tác tử User Interface Agent Tác tử Mediator Agent: tác tử thông minh, xử lý việc phân phối liệu, tập hợp xử lý truy vấn ngƣời sử dụng lƣợc đồ toàn cục, phân rã truy vấn giao dịch toàn cục thành truy vấn lƣợc đồ nguồn cục 52 Nó đóng vai trò giao diện ngƣời sử dụng đƣa yêu cầu tập hợp nguồn thông tin Cấu trúc tác tử Mediator Agent đƣợc minh họa hình 4.14 Hình 4.14 - Cấu trúc tác tử Mediator Agent Tác tử Search Agent: tác tử di động, di trú q trình thực từ máy sang máy khác mạng để tìm kiếm thơng tin thỏa mãn u cầu ngƣời sử dụng Tại nơi đến, thực số trao đổi xử lý thông tin thu thập đƣợc Cấu trúc tác tử Search Agent đƣợc minh họa hình 4.15 Hình 4.15 - Cấu trúc tác tử Search Agent Tác tử LocalDB Agent: tác tử nhận truy vấn từ tác tử Search Agent dƣới dạng XQuery chuyển đổi chúng thành truy vấn gốc (phụ thuộc vào nguồn thông tin cục bộ) để chiết xuất thông tin đƣợc yêu cầu từ nguồn thơng tin cục (xem hình 4.16) Thơng tin tìm đƣợc đƣợc chuyển đổi thành định dạng XML trả lời cho truy vấn tác tử Search Agent Hình 4.16 - Cấu trúc tác tử LocalDB Agent 53 4.3.6.3 Sơ đồ lớp tác tử tìm kiếm tích hợp thơng tin Sơ đồ lớp tác tử tìm kiếm tích hợp thơng tin đƣợc biểu diễn hình 4.17 Ta giả sử lớp RelationalWrapper chịu trách nhiệm tiến trình phù hợp truy vấn cục Lớp có ba phƣơng thức: phƣơng thức matchSchema() chuyển thuật ngữ truy vấn phù hợp với nguồn liệu cục bộ; prepaireSQL() cấu trúc truy vấn trƣớc thu thập liệu từ nguồn liệu cục bộ; processXML_SQL() cấu trúc truy vấn trả lời theo cú pháp XML Ba lớp tác tử: MediatorAgent, SearchAgent LocalDBAgent: MediatorAgent tác tử tĩnh có trách nhiệm lắng nghe ngƣời sử dụng Khi ngƣời sử dụng đệ trình truy vấn mới, tác tử thiết lập lộ trình, tạo SearchAgent (tác tử thợ) gán tác vụ thực cho Tác tử SearchAgent di chuyển lộ trình tới đích đến, liên lạc với tác tử LocalDBAgent, tác tử có trách nhiệm làm phù hợp truy vấn cục bộ, thu thập thông tin từ nguồn liệu trả kết cục cho SearchAgent Sau đó, tác tử di động tích hợp kết tiếp tục lộ trình Hình 4.17 - Sơ đồ lớp tác tử tìm kiếm tích hợp thơng tin 54 Sơ đồ lớp tác tử di động Search Agent đƣợc mơ tả hình 4.18 Lớp SearchAgent_Interface: a read_Search_Query: Phƣơng thức đọc điều kiện tìm kiếm từ ngƣời sử dụng thông qua yêu cầu từ tác tử Mediator Agent b display_Results: Phƣơng thức sử dụng để hiển thị kết tìm thấy c start_Agent: Sử dụng để khởi tạo tác tử Search Agent d stop_Agent: Sử dụng để hủy tác tử Search Agent sau hoàn thành tác vụ Lớp SearchAgent_Control_Unit: a search_Host: Phƣơng thức sử dụng để tìm kiếm host có kết b return_Home: Phƣơng thức sử dụng để tác tử Search Agent quay trở lại nút ban đầu tìm kiếm với kết tìm kiếm lộ trình c migrate_to_Host: Phƣơng thức sử dụng để tìm kiếm host di trú đến d save_Results: Phƣơng thức sử dụng cho việc lƣu trữ kết tìm thấy nguồn thơng tin mà tác tử Search Agent phải chuyển lại cho tác tử Mediator Agent để thị sau cho ngƣời sử dụng Hình 4.18 - Sơ đồ lớp tác tử di động Search Agent 55 4.4 Thực nghiệm 4.4.1 Mô tả toán thực nghiệm Bài toán thử nghiệm đƣợc thực nguồn liệu sở liệu điều tra thống kê đƣợc Tổng cục Thống kê tiến hành thu thập hàng năm phạm vi toàn quốc: Cơ sở liệu ngƣời lao động doanh nghiệp: quản lý thông tin ngƣời lao động Gồm trƣờng: Họ tên, Địa chỉ, Tuổi, Doanh nghiệp, Cơ sở liệu điều tra doanh nghiệp: thông tin điều tra doanh nghiệp hàng năm Gồm trƣờng: Tên doanh nghiệp, Địa chỉ, Họ tên ngƣời lao động, Các sở liệu đƣợc tiến hành thu thập hàng năm lƣu trữ Tổng cục Thống kê tỉnh/thành phố Hệ thống thử nghiệm tiến hành liệu hai loại sở liệu năm: 2010, 2011, 2012 2013 Các sở liệu đƣợc lƣu MySQL tệp liệu XML đƣợc kết xuất từ hệ quản trị sở liệu khác nhƣ: Microsoft SQL Server ORACLE Thực nghiệm tiến hành xây dựng tác tử để tìm kiếm thơng tin ngƣời lao động doanh nghiệp, tích hợp kết tìm kiếm từ nguồn thơng tin hiển thị thông tin cho ngƣời sử dụng Tác tử giao diện User Interface Agent: kết hợp với servlet điều khiển tƣơng tác với ngƣời sử dụng Hình 4.19 sơ đồ lớp tác tử User Interface Agent Hình 4.19 - Sơ đồ lớp tác tử User Interface Agent Các hành vi: sendRequest(ACLMessage msg): hành vi tác tử User Interface Agent gửi yêu cầu ngƣời dùng (mã hoá tham số msgUIA) cho tác tử Mediator Agent ReceiveMessage(): tác tử liên tục kiểm tra xem có thơng điệp gửi đến khơng Sử dụng hành vi lặp vô hạn (import jade.core.behaviours.CyclicBehaviour) 56 4.4.2 Cài đặt công cụ kết thử nghiệm Các tác tử hệ thống đƣợc thực sử dụng ngôn ngữ Java, tảng phát triển công cụ JADE 4.2.0 (Java Agent Development Framework) JADE hỗ trợ phát triển tác tử với khả di chuyển từ hệ thống sang hệ thống khác Phát triển hệ đa tác tử (Muti-Agent System - MAS) dựa theo chuẩn tác tử đƣợc FIPA khuyến nghị, đặc biệt lấy ngôn ngữ truyền thông tác tử FIPA-ACL Tất chƣơng trình đƣợc phát triển với JDK (Java Development Kid) phiên 1.7 Luận văn phát triển số lớp môi trƣờng NetBeans IDE 7.4 để viết mã java nhƣ mã nguồn tác tử tảng JADE Cơ sở liệu sử dụng Mysql-connector-java-5.1.18: kết nối JDBC Sử dụng add-ons/XMLCodec JADE để xử lý thông điệp tác tử dạng XML Sử dụng SAX (Simple API for XML) parser (http://www.megginson.com/downloads/SAX/) cho xử lý liệu XML 4.4.2.1 Cài đặt JADE Để biên dịch chạy JADE platform thành công yêu cầu máy phải cài đặt JDK Tất phần mềm liên quan đến JADE tải từ trang web thức JADE (http://jade.tilab.com/) Các phần mềm liên quan đến JADE chia thành hai loại: phân phối phụ trợ Các phụ trợ riêng biệt có chứa mơ-đun thực thi phần mở rộng riêng biệt nhƣ mã hố cho ngơn ngữ Trong nhiều trƣờng hợp, không đƣợc phát triển trực tiếp đội ngũ phát triển JADE mà thành viên cộng đồng nguồn mở, ngƣời định đƣa thành nghiên cứu lên cho cộng đồng Bản phân phối bao gồm năm tệp đƣợc nén là: jadeBin.zip chứa file jar tảng JADE đƣợc biên dịch jadeDoc.zip chứa tài liệu bao gồm: Hƣớng dẫn cho ngƣời quản trị, hƣớng dẫn cho ngƣời lập trình jadeExamples.zip chứa mã nguồn ví dụ mẫu jadeSrc.zip chứa tất mã nguồn JADE jadeAll.zip chứa tất file nói 4.4.2.2 Cơng cụ xây dựng ontology lớp java ontology Sử dụng công cụ Protégé 3.3.1 (tại địa http://protege.cim3.net/download/old-releases/Protege%203.x/3.3.1/) để xây dựng ontology cho lớp toán điều tra thống kê ứng dụng vào tốn tìm kiếm tích 57 hợp thông tin thống kê sử dụng tác tử phần mềm Giao diện ontology thống kê sử dụng Protégé 3.3.1 đƣợc thể hình 4.20 dƣới đây: Hình 4.20 - Giao diện Protégé 3.3.1 Sử dụng plug-in OntologyBeanGenerator Protégé 3.3.1 để xây dựng lớp java cho ontology sử dụng JADE Giao diện để tạo lớp java sử dụng plug-in OntologyBeanGenerator 4.0 (http://protegewiki.stanford.edu/wiki/OntologyBeanGenerator_4.0) đƣợc thể nhƣ hình 4.21 dƣới đây: 58 Hình 4.21 - Giao diện plug-in OntologyBeanGenerator Protégé 3.3.1 Một phần ontology thống kê (SIAgentOntology) đƣợc khai báo lớp java để sử dụng JADE đƣợc thể hình 4.22 Các ontology đƣợc sử dụng chung cho tác tử hệ thống thử nghiệm Hình 4.22 - SIAgentOntology sử dụng JADE 4.4.2.3 Lớp tác tử Mediator Agent public class MediatorAgent extends MediatorGuiAgent{ if (guiParameter.equals("on")){ searchagentGUI = new SearchAgentGUI(this);} querysb = new QueryRefSenderBehaviour(); refb = new ReceiverBehaviour(); addBehaviour(refb); registerService(); protected void onMediatorGuiEvent(MediatorGuiEvent ev){ switch (ev.getType()){ case SEARCH: 59 queryMessage = (String)ev.getParameter(0); addBehaviour(querysb); break; } } private class QueryRefSenderBehaviour extends CycleBehaviour { public void action() { ACLMessage msg = new ACLMessage(ACLMessage.QUERY_REF); AID aid = new AID(); aid.setLocalName("SearchAgent"); msg.addReceiver(aid); msg.setLanguage(agentLanguage); msg.setProtocol(FIPANames.InteractionProtocol.FIPA_QUERY); msg.setOntology(SIAgentOntology); msg.setContent(queryMessage); send(msg);} } } 4.4.2.4 Phần kết nối sở liệu MySQL tác tử wrapper (LocalDBAgent) Tác tử LocalDBAgent thực thao tác sở liệu Hình 4.23 - Sơ đồ lớp tác tử LocalDBAgent Các hành vi: connect(): thực việc kết nối đến sở liệu phân tán insert(): đƣa thông tin vào sơ liệu, đầu vào ontology 60 select(): tìm kiếm thơng tin thoả mãn yêu cầu đƣa vào ontology để truyền cho tác tử Search Agent close(): Ngắt kết nối đến sở liệu Các sở liệu thống kê đƣợc lƣu sở liệu MySQL Server 5.6 đƣợc tác tử wrapper (LocalDBAgent) truy cập để lấy thơng tin q trình tìm kiếm tác tử Search Agent trả kết định dạng XML Phần kết nối sở liệu MySQL mã java nhƣ dƣới đây: import jade.core.Agent; import java.sql.*; import jade.core.behaviours.*; import com.mysql.jdbc.Driver; public class ConnectMySQL extends Agent { public void setup() { String url = "jdbc:mysql://localhost/"; String dbName = "databasename"; String driver = "com.mysql.jdbc.Driver"; String userName = "user"; String password = "pass"; try { Class.forName(driver).newInstance(); Connection conn = DriverManager.getConnection(url+dbName,userName,password); Statement st = conn.createStatement(); ResultSet res = st.executeQuery(sSQL) while (res.next()) { //Xử lý liệu câu truy vấn } conn.close(); } catch (Exception e) { e.printStackTrace(); } } } 61 4.4.2.5 Giao diện chạy tác tử Hình 4.24 - Màn hình chạy tác tử 4.4.2.6 Kết tìm kiếm tích hợp thông tin trả cho người sử dụng Kết thực việc tìm kiếm đƣợc trả liệu đƣợc tích hợp thơng tin cho ngƣởi sử dụng Kết thể giao diện JADE thực NetBeans IDE 7.4 nhƣ hình 4.25 Hình 4.25 - Kết trả cho ngƣời sử dụng môi trƣờng JADE 62 KẾT LUẬN Trong luận văn tơi tìm hiểu tác tử (agent), trình bày nghiên cứu tốn tìm kiếm tích hợp thơng tin sử dụng agent phần mềm Sau thời gian nghiên cứu, tìm hiểu tài liệu xây dựng mơ hình tìm kiếm tích hợp thơng tin sử dụng tác tử phần mềm, kết đạt đƣợc là: tìm hiểu kiến thức tác tử công nghệ tác tử, tốn tìm kiếm tích hợp thơng tin, phƣơng pháp tích hợp cơng cụ sử dụng nhƣ cách thức ứng dụng tác tử toán đặt Sự phức tạp liệu đƣợc lƣu trữ định dạng khác nguồn liệu đƣa tích hợp nhiệm vụ đầy thách thức để vƣợt qua Mục tiêu phƣơng pháp nghiên cứu giải tính khơng đồng thông tin đề xuất môi trƣờng liệu dựa XML hợp dựa tầng kiến trúc hỗ trợ tính linh hoạt, khả mở rộng, tính thiết thực, khả tƣơng tác tính linh động Với đặc điểm bật tác tử công nghệ XML, kết hợp công nghệ phƣơng pháp nghiên cứu đề xuất kiến trúc tìm kiếm tích hợp thơng tin sử dụng agent phần mềm để giải vấn đề tính khơng đồng hệ thống thơng tin khơng đồng Tính linh hoạt kiến trúc đề xuất cho ứng dụng WWW rộng lớn nhƣng có số bất lợi liên quan Trƣớc hết, chuyển đổi định dạng sang mẫu dựa XML hợp thách thức lớn cần đƣợc tính đến Tơi thấy rằng, thông qua sử dụng giao thức chuẩn nhƣ vậy, khung kiến trúc đề xuất tơi có phù hợp cho hầu hết trao đổi thông tin Hạn chế hệ thống đề xuất giai đoạn cơng thức truy vấn ban đầu nhƣng nâng cao khả cập nhật hệ thống tƣơng lai Luận văn số hạn chế chƣa xây dựng đƣợc mơ hình tìm kiếm tích hợp thơng tin tối ƣu hồn thiện cho việc sử dụng tác tử phần mềm; phần thực nghiệm xây dựng đƣợc chƣơng trình nhỏ mang tính chất minh họa cho q trình tìm kiếm tích hợp liệu từ nguồn thơng tin đơn giản, thực tế nguồn thông tin đa dạng phức tạp nhiều Hƣớng phát triển luận văn sâu nghiên cứu mơ hình tìm kiếm tích hợp thơng tin tối ƣu hơn, cải tiến tác tử có khả thu thập thơng tin mức độ tích hợp cao hơn, tích hợp liệu phân tán nhiều nguồn lƣu dạng CSDL khác 63 TÀI LIỆU THAM KHẢO Tiếng Việt: Nguyễn Thị Thúy Hằng (2009); “Ứng dụng tác tử phần mềm tích hợp thơng tin phương tiện giao thông”; Luận văn thạc sĩ Trƣờng Đại học Công nghệ, Đại học Quốc gia Hà Nội Tr46 - 49 Lê Tấn Hùng, Từ Minh Phƣơng, Huỳnh Quyết Thắng (2006), “Tác tử, Công nghệ phần mềm hướng tác tử”; Nhà xuất Khoa học Kỹ thuật Tiếng Anh: A gustina Buccella, Alejandra Cechich, Nieves R.Brisaboa (2003), “An Ontology Approach to Data Integration” Andrea Cali, Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini (2002), “On the role of Integrity Constrants in Data Integration”, IEEE Computer Society Technical Committee ontology Data Engineering FIPA FIPA (Foundation for Intelligent Agents), http://www.fipa.org, 1999 Foundation for Intelligent Physical Agents H Stuckenschmidt, H.Wache, U Visser, G Schuster, “Methodologies for ontology-based semantic translation”, The BUSTER Project, TZI, Intelligent Systems Group, University of Bremen, Germany JADE-Board: JADE http://jade.tilab.com/ James Odell, OMG Agent Working Group (2001), “Agent Technology”, Green Paper Version 1.0 OMG Document ec/2000-08-01 pp 4-25 Khaled Bashir Shaban (2002), “Information fusion in a cooperative MultiAgent system for Web information retrieval”, A Thesis Master of Science Presented to The Faculty of Graduate Studies 10 KIF http://www.cs.umbc.edu/kse/kif/, 1999 11 KQML The UMBC KQML Web, http://www.cs.umbc.edu/kqml/, 1999 12 M Wooldridge, Intelligent Agents, (G Weiss Ed): “MultiAgent Systems: A Modern Approach to Distributed Artificial Intelligence”, MIT Press, 1999[Book] 13 Michael N Huhns and Larry M Stephens, “MultiAgent Systems and Societies of Agents” 14 Morgan Benton, Eunhee Kim, and Benjamin K.Ngugi (2002), “Briging the Gap: from traditional Information retrieval to Sematic Web”, Eighth Americas Conference on Information Systems 64 15 Protégé Stanford Medical Informatics: 2004 http://protege.stanford.edu/ 16 Soe-Tsyr Yuan (1999), “Ontologies-based Agent Community for Information Gathering and Integration”, Information Management Department, Fu-Jen University 17 Thomas R.Gruber (1993), “Toward Principles for the Design of Ontologies Used for Knowledge Sharing” 18 Uschold, M., Gruninger, M “Ontologies: Principles, Methods and Applications”, Knowledge Engineering Review, Vol.11(2):93-155, 1996 19 Weiß, G (2002) “Agent orientation in software engineering” Knowledge Engineering Review, pp 13 - 16 20 Hunhns M., Singh M.P (1999), A Multi-Agent Treatment of Agenthood, Applied Artificial Intelligence: An International Journal 13 (pp - 2) 21 Wooldridge (2000), Reasoning about Agents, The MIT Press, Cambridge, MA 22 M Luck, M DInverno (2001), A Conceptual Framework for Agent Definition and Development, The Computer Journal 44 (pp 1) 23 J Spivey (1992), The Z Notation, A Reference Manual, Prentice Hall, Heeermel Hempstead, 2nd Edition 24 Michael Wooldridge, Nicolas R Jennings, David Kinny (200), The Gaia Methology for Agent-Oriented Analysis and Design, Autonomous Agents and Multi-Agent System 25 DeLoach S A (2001), “Analysis and Design using MaSE and AgentTool”, 12th Midwest Artificial Intelligence and Cognitive Science Conference (MAICS 2001), Miami University, Oxford, Ohio, March 31-April 1, 2001 26 DAML+OIL (2001): http://www.daml.org/2001/03/daml+oil-index.html 27 Philip S Medcraft, Ulrich Schiel, Clasudio S Baptista (2003), DIA: Data Integration Using Agents 28 Fabio Bellifemine, Giovanni Caire, Dominic Greenwood (2007), Developing multi-agent systems with JADE, Wiley Series in Agent Technology 29 Juan Andrade, Vadim Draluk, Dick Tsur (2007): XQuery as a Tool for Liquid Data Integration - Some Design Considerations ... niệm tìm kiếm tích hợp thơng tin, nhu cầu tích hợp thơng tin phƣơng pháp tích hợp thơng tin tốn tích hợp thơng tin hệ đa tác tử Chƣơng 4: Tìm kiếm tích hợp thơng tin bán cấu trúc sử dụng tác tử phần. .. cứu sử dụng, luận văn sử dụng thuật ngữ đề cập đến agent) , sâu tìm hiểu phƣơng pháp tìm kiếm tích hợp thơng tin sử dụng tác tử phần mềm Hƣớng nghiên cứu tập trung vào hệ tìm kiếm tích hợp liệu... cầu tìm kiếm tích hợp thơng tin từ nguồn liệu phân tán, luận văn sâu tìm hiểu cài đặt thử nghiệm hệ thống tìm kiếm tích hợp thông tin sử dụng tác tử phần mềm Hƣớng nghiên cứu tìm kiếm tích hợp