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,4 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 đƣợ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 toà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 suốt thời gian hoà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 bên khuyến khích, động viên ủng hộ 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 tránh khỏi thiếu sót Rất mong nhận đƣợc đóng góp ý kiến thầy cô 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ả toá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 toá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 toà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ú 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 yê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ã hoá 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 toá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 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ìm hiểu tác tử (agent), trình bày nghiên cứu toá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ử, toá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 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 hoà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 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 và tích hợp thông tin, nhu cầu tích hợp thông tin và các phƣơng pháp tích hợp thông tin và bài toán tích hợp thông tin trong hệ đa tác tử 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: Bài toán nghiên cứu và thực nghiệm - Bài toán tìm kiếm và tích hợp thông tin sử dụng tác tử phần mềm: Trình bày về tìm kiếm và tích hợp thông tin áp dụng các phƣơng pháp và công. .. cứu công nghệ agent (tạm dịch là tác tử - là thuật ngữ đã đƣợc nhiều nhà nghiên cứu sử dụng, trong luận văn tôi sẽ sử dụng thuật ngữ này khi đề cập đến agent) , đi sâu tìm hiểu các 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 Hƣớng nghiên cứu tập trung vào hệ tìm kiếm và tích hợp các dữ liệu ở định dạng XML của các nguồn thông tin phân tán không đồng nhất sử dụng tác tử phần mềm Thông. .. về agent, lý thuyết và thực hành; Các phƣơng pháp đặc tả và mô hình hóa agent; Các phƣơng pháp phát triển phần mềm hƣớng agent [24, 25]; Công nghệ Web ngữ nghĩa và ứng dụng trong tìm kiếm và tích hợp thông tin [26, 27] Ontology và công cụ khai thác Web ngữ nghĩa [3, 15, 16]; Các hệ thống tìm kiếm và tích hợp thông tin sử dụng agent phần mềm trong thực tế Qua đây, ta có thể thấy việc sử dụng. .. gian để tích hợp thông tin sẽ đƣợc trình bày trong phần tích hợp thông tin ở mục 3.2 3.2 Tổng quan về tích hợp thông tin 3.2.1 Khái niệm tích hợp thông tin Tích hợp thông tin là quá trình kết hợp dữ liệu từ các nguồn thông tin khác nhau nhằm cung cấp cho ngƣời dùng một cái nhìn tổng quan và duy nhất về dữ liệu [13] Các đặc điểm của hệ thống tích hợp thông tin bao gồm: Các nguồn thông tin là phân tán:... phụ thuộc vào bản chất và đặc điểm của các nguồn thông tin 24 Trong thực tế một hệ tích hợp thông tin thƣờng có đủ cả ba mức Các mức thấp (low level), do đó, sẽ làm cơ sở cho các mức cao hơn (high level) Luận văn dùng thuật ngữ tích hợp thông tin để thay cho cả ba mức tích hợp thông tin nêu trên 3.2.3 Một số phƣơng pháp tích hợp thông tin Nhu cầu tích hợp thông tin trong các hệ thống thông tin, nhất... cứu về tích hợp thông tin đã đƣợc tiến hành [3, 16, 17] Các nghiên cứu này đƣa ra một loạt các phƣơng pháp tích hợp thông tin, mỗi phƣơng pháp lại phù hợp với một dạng hệ thống (và các nguồn thông tin) cụ thể Trong phần này, luận văn sẽ trình bày một số phƣơng pháp tích hợp thông tin theo cách phân loại dựa trên kỹ thuật tích hợp 3.2.3.1 Tích hợp thông tin dựa trên ước lượng không chắc chắn Hiểu một... Trong [9] trình bày một phƣơng pháp tích hợp thông tin khác sử dụng hệ đa tác tử Với mục đích tích hợp và truy xuất các nguồn thông tin trên Internet nhằm tìm ra thông tin phù hợp nhất với ngƣời dùng, hệ tích hợp thông tin sẽ đƣợc tổ chức thành một nhóm các tác tử khác nhau, mỗi tác tử có chức năng thu thập thông tin tại một nguồn nhất định Phƣơng pháp tích hợp thông tin đƣợc đƣa ra là tổ chức các tác... các phƣơng pháp và công nghệ tác tử; phần cuối chƣơng này trình bày cách cài đặt, cấu hình và thực thi ứng dụng thử nghiệm cho bài toán đặt ra Hệ thống tìm kiếm và tích hợp thông tin sử dụng tác tử phần mềm đƣợc xây dựng bằng công cụ JADE Kết luận: Trình bày một số kết quả đạt đƣợc và đóng góp của luận văn và hƣớng nghiên cứu tiếp theo trong tƣơng lai 5 CHƢƠNG 1: CÔNG NGHỆ PHẦN MỀM HƢỚNG TÁC TỬ 1.1 Khái... quá trình tích hợp thông tin 3 Để có cái nhìn tổng quan về vấn đề này, nắm đƣợc tầm quan trọng của nó, lựa chọn đƣợc hƣớng tiếp cận phù hợp với quá trình phát triển các hệ thống phần mềm phức tạp và phân tán, có đƣợc những cơ sở về phƣơng pháp luận cũng nhƣ kinh nghiệm phục vụ cho việc triển khai ứng dụng, tôi đã chọn đề tài: Tìm kiếm và tích hợp thông tin sử dụng Agent phần mềm Trong luận văn này,... một nguồn thông tin khác lại đƣợc biểu diễn theo CSDL quan hệ Các nguồn thông tin cũng có thể sử dụng các từ vựng khác nhau để cùng biểu diễn một thông tin Một hệ tích hợp thông tin thường không cần toàn bộ thông tin trong các nguồn cần tích hợp Với mỗi nhiệm vụ cụ thể, hệ thống chỉ cần những thông tin liên quan đến việc thực hiện nhiệm vụ đó Nhƣ vậy, nếu tập hợp toàn bộ các nguồn thông tin vào hệ thống ... 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. .. nghiê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 thông