Tìm hiểu và tích hợp thông tin dùng Agent phần mềm

  • Số trang: 75 |
  • Loại file: PDF |
  • Lượt xem: 24 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠ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 quả đạt đƣợc trong luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của ngƣời khác. Trong toàn bộ nội dung của luận văn, những điều đã trình bày là của cá nhân tôi hoặc đƣợc tôi tổng hợp từ nhiều nguồn tài liệu. Tất cả các nguồn tài liệu tham khảo có xuất xứ rõ ràng và đƣợc trích dẫn hợp pháp. Tôi xin chịu toàn bộ trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của tôi. Hà Nội, tháng 12 năm 2013 Hồ Văn Bảo ii LỜI CẢM ƠN Lời đầu tiên cho phép tôi đƣợc bày tỏ lòng biết ơn sâu sắc và 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 rất nhiều thời gian quí báu để tận tình hƣớng dẫn, dìu dắt, chỉ bảo và định hƣớng cho tôi trong 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 các 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 những kiến thức, kinh nghiệm quý báu trong suốt thời gian tôi học tập tại trƣờng. Tôi xin gửi lời cảm ơn sâu sắc tới Ban Giám đốc và các đồng nghiệp Trung tâm Tin học Thống kê Khu vực I - Tổng cục Thống kê đã hết sức tạo điều kiện thuận lợi cho tôi trong suốt quá trình học tập và thực hiện luận văn. Tôi xin chân thành cảm ơn bạn bè và gia đình, những ngƣời thân luôn ở bên khuyến khích, động viên và ủng hộ tôi trong quá trình học tập và hoàn thành luận văn. Do thời gian và trình độ có hạn nên luận văn này không thể tránh khỏi những thiếu sót. Rất mong nhận đƣợc sự đóng góp ý kiến của các thầy cô giáo, đồng nghiệp, bạn bè, các quý vị quan tâm này để luận văn đƣợc hoàn thiện hơ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 ......................................................................................................................... 1 CHƢƠNG 1: CÔNG NGHỆ PHẦN MỀM HƢỚNG TÁC TỬ ..................................... 5 1.1. Khái niệm tác tử ................................................................................................... 5 1.1.1. Định nghĩa tác tử ........................................................................................... 5 1.1.2. Phân loại tác tử .............................................................................................. 6 1.1.2.1. Tác tử phần mềm .................................................................................... 6 1.1.2.2. Tác tử tự trị ............................................................................................. 7 1.1.2.3. Tác tử tƣơng tác ...................................................................................... 7 1.1.2.4. Tác tử thích nghi ..................................................................................... 7 1.1.2.5. Tác tử di động ......................................................................................... 8 1.1.2.6. Tác tử phối hợp....................................................................................... 8 1.1.2.7. Tác tử thông minh .................................................................................. 8 1.1.2.8. Tác tử wrapper ........................................................................................ 9 1.2. Công nghệ phần mềm hƣớng tác tử...................................................................... 9 1.2.1. Phần mềm hƣớng tác tử là gì? ....................................................................... 9 1.2.2. Mô hình hóa tác tử ....................................................................................... 10 1.2.3. Phân tích và 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 giữa các 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ại của tác tử ................................................................... 13 1.3.2.2. Quá trình hoạt động của tác tử ............................................................. 13 1.3.2.3. Phân lớp động và đa phân lớp .............................................................. 14 iv 1.3.3. Tính di động ................................................................................................ 14 1.3.4. Nguyên lý hoạt động của tác tử di động ...................................................... 14 1.3.4.1. Vòng đời của một tác tử di động .......................................................... 14 1.3.4.2. Cơ chế di chuyển của 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 nền tảng JADE............................................................................. 15 2.2. Giao tiếp giữa các tác tử JADE .......................................................................... 17 2.3. Dịch vụ di động liên nề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 về tìm kiếm thông tin trong các 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 trong hệ đa tác tử .......... 22 3.2. Tổng quan về 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 trên ƣớc lƣợng không chắc chắn..................... 24 3.2.3.2. Tích hợp thông tin dựa trên các ràng buộc dữ liệu............................... 25 3.2.3.3. Tích hợp thông tin tự động dựa trên ontology ..................................... 25 3.3. Hệ đa tác tử và tích hợp thông tin ...................................................................... 26 3.3.1. Hệ đa tác tử .................................................................................................. 26 3.3.2. Mối quan hệ giữa hệ đa tác tử và tích hợp thông tin ................................... 27 3.3.3. Ontology và các 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 của 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 trong 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 dữ liệu dựa trên 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 dữ liệu dựa trên XML ................................................................. 43 4.3.4. Xử lý tìm kiếm và tích hợp thông tin đối với các nguồn dữ liệu .................... 44 4.3.4.1. Xử lý tìm kiếm các nguồn thông tin ..................................................... 44 4.3.4.2. Xử lý tích hợp các 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 đồ các ca sử dụng của các tác tử chính ........................................ 50 4.3.6.2. Đặc tả các tác tử chính.......................................................................... 51 4.3.6.3. Sơ đồ lớp tác tử tìm kiếm và tích hợp thông tin ................................... 53 4.4. Thực nghiệm ....................................................................................................... 55 4.4.1. Mô tả bài toán thực nghiệm ......................................................................... 55 4.4.2. Cài đặt công cụ và kết quả 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 và lớp java của ontology ......................... 56 4.4.2.3. Lớp tác tử Mediator Agent ................................................................... 58 4.4.2.4. Phần kết nối cơ sở dữ liệu MySQL của tác tử wrapper (LocalDBAgent) ........................................................................................................................... 59 4.4.2.5. Giao diện chạy các tác tử...................................................................... 61 4.4.2.6. Kết quả tìm kiếm và tích hợp thông tin trả về 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ở dữ 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 2 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 chính của 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 bộ giữa các tác tử ......................... 19 Hình 2.5 - Di chuyển liên nền của tác tử di động .......................................................... 19 Hình 2.6 - Mô hình tƣơng tác giữa 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 dữ liệu ........... 21 Hình 3.2 - Kiến trúc hệ thống tìm kiếm thông tin trong hệ đa tác tử ............................ 22 Hình 4.1 - Mô hình tổng quan của hệ thống tìm kiếm và tích hợp thông tin ................ 34 Hình 4.2 - Kiến trúc hệ thống tìm kiếm và tích hợp thông tin của bài toán nghiên cứu ....................................................................................................................................... 36 Hình 4.3 - Kết hợp các kết quả đƣợc tạo từ 3 nguồn dữ liệu vào dữ liệu XML hợp nhất ....................................................................................................................................... 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 dữ 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 các giao dịch con phù hợp với các nguồn thông tin vật lý ............................................................................................................... 46 Hình 4.8 - Tích hợp kết quả XML thành dữ liệu XML hợp nhất .................................. 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 của 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 và tích hợp thông tin......................................... 53 ix Hình 4.18 - Sơ đồ lớp tác tử di động Search Agent ...................................................... 54 Hình 4.19 - Sơ đồ lớp của tác tử User Interface Agent ................................................. 55 Hình 4.20 - Giao diện Protégé 3.3.1 .............................................................................. 57 Hình 4.21 - Giao diện plug-in OntologyBeanGenerator trong Protégé 3.3.1 ............... 58 Hình 4.22 - SIAgentOntology sử dụng trong JADE ..................................................... 58 Hình 4.23 - Sơ đồ lớp của tác tử LocalDBAgent .......................................................... 59 Hình 4.24 - Màn hình chạy các tác tử ........................................................................... 61 Hình 4.25 - Kết quả trả về cho ngƣời sử dụng trong môi trƣờng JADE ....................... 61 1 MỞ ĐẦU Sự phát triển rất nhanh của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế - xã hội trong nhiều năm qua cũng đồng nghĩa với lƣợng dữ liệu đã đƣợc các cơ quan, cá nhân thu thập và lƣu trữ ngày càng nhiều. Trong khi khối lƣợng dữ liệu ngày càng phát triển và phân tán nhiều nơi thì mỗi hệ thống chỉ cần một số thông tin nhất định phù hợp với yêu cầu riêng của hệ thống đó và trong nhiều trƣờng hợp để xây dựng một hệ thống cần đến thông tin từ nhiều nguồn khác nhau. Nhu cầu tích hợp thông tin từ nhiều nguồn phân tán, không đồng nhất ngày càng trở nên cấp thiết. Để xây dựng một hệ thống tích hợp thông tin, hai vấn đề cần thiết đƣợc đặt ra:  Tìm kiếm/xác định các nguồn tin phù hợp cho thông tin cần sử dụng.  Truy nhập và tổng hợp thông tin từ các nguồn xác định. Tìm kiếm các nguồn thông tin thƣờng đƣợc giải quyết thông qua các kỹ thuật thu thập và lọc thông tin. Khi các nguồn tin đã đƣợc xác định thì các kỹ thuật truy nhập và tổng hợp thông tin từ các nguồn này lại đƣợc quan tâm. Trở ngại lớn nhất cho vấn đề tích hợp thông tin là sự không đồng nhất của các nguồn tin, dẫn đến sự không đồng nhất về cách thức truy nhập cũng nhƣ nội dung thông tin. Thông thƣờng, cách thức truy nhập có thể vƣợt qua bởi những chuẩn công nghệ, chẳng hạn nhƣ ODBC cho các cơ sở dữ liệu quan hệ, hay gần đây là các giao thức dịch vụ mạng. Vấn đề đáng quan tâm là sự không đồng nhất về nội dung thông tin. Sự không đồng nhất này đƣợc biết đến với hai dạng cơ bản: không đồng nhất về lƣợc đồ, không đồng nhất về ngữ nghĩa. Không đồng nhất về lƣợc đồ liên quan tới việc lƣu trữ thông tin trong các khuôn dạng khác biệt - chẳng hạn dƣới dạng các bảng theo mô hình quan hệ hay dƣới dạng phân cấp theo mô hình XML. Sự không đồng nhất ngữ nghĩa lại xem xét về khía cạnh ý nghĩa nội dung của dữ liệu. Cùng với sự phát triển của các kỹ thuật tìm kiếm và tích hợp thông tin, vai trò và lợi ích của cách tiếp cận hƣớng agent đã đƣợc nghiên cứu từ rất sớm. Từ những năm 90, các tổ chức và trƣờng đại học nghiên cứu về agent đã phát triển rất mạnh mẽ. Một ví dụ điển hình: Viện nghiên cứu MIT đã phát triển một loạt các dự án liên quan đến công nghệ agent đƣợc triển khai rất thành công trên thực tế nhƣ: Smart Mobility, Car in the City, Goal-Oriented Web Search User Interfaces,... hay FIPA - một tổ chức nghiên cứu về agent nổi tiếng với các nỗ lực chuẩn hóa agent, cũng đƣa ra một số kết quả nghiên cứu về ngôn ngữ truyền thông agent nhƣ: ACL, KQML,... Từ khi xuất hiện các ngôn ngữ lập trình hƣớng agent và công nghệ phát triển phần mềm hƣớng agent ra đời, hàng loạt các nghiên cứu và thử nghiệm về sử dụng công nghệ agent đã đƣợc công bố, đã phản ánh những mức độ nghiên cứu về phƣơng pháp luận, công cụ và triển khai 2 ứng dụng khác nhau của các cách tiếp cận hƣớng agent và có thể tóm tắt qua các nội dung sau:  Các định nghĩa cơ bản 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 công nghệ agent cho các hệ thống lớn, phức tạp và phân tán là một hƣớng đi mới, đóng góp vai trò quan trọng trong tiến trình kỹ nghệ phần mềm và đang đƣợc triển khai nghiên cứu và ứng dụng rộng rãi trên thế giới. Hiện nay hầu hết các dữ liệu lƣu trữ trong các máy tính không nhất thiết đƣợc quản lý bởi các hệ quản trị cơ sở dữ liệu, nó có thể đƣợc lƣu dƣới dạng có cấu trúc, ví dụ nhƣ: HTML hoặc SGML, các định dạng dữ liệu không tuân theo một mẫu chuẩn,... Cấu trúc của dữ liệu không đƣợc định trƣớc, và thậm chí ngay cả khi đã đƣợc định trƣớc thì nó cũng có thể bị thay đổi liên tục mà không có dấu hiệu để báo trƣớc cho việc thay đổi đó. Những dữ liệu nhƣ vậy đƣợc gọi là dữ liệu bán cấu trúc (semistructure). Thông thƣờng để biểu diễn dữ liệu bán cấu trúc, trƣớc đây ngƣời ta thƣờng sử dụng mô hình chuyển đổi OEM (Object Exchange Model) mô hình này cũng đã đƣợc đƣa ra trong một số dự án tích hợp dữ liệu bán cấu trúc và có cấu. Tuy nhiên, có một cách thức khác để có thể biểu diễn cả dữ liệu có cấu trúc cũng nhƣ bán cấu trúc, đó là ngôn ngữ XML (ngôn ngữ đánh dấu mở rộng - eXtensible Markup Language). Thực chất, tổ chức W3C phát triển và chuẩn hóa XML cho mục đích biểu diễn dữ liệu và trao đổi dữ liệu trên Web, nhƣng vì ngôn ngữ này có một số tính năng rất ƣu việt trong việc biểu diễn dữ liệu nên nó đƣợc sử dụng rất rộng rãi và đƣợc coi nhƣ một công cụ để biểu diễn dữ liệu bán cấu trúc. XML hỗ trợ việc trao đổi dữ liệu điện tử mà máy tính có thể hiểu đƣợc. Bên cạnh đó XML biểu diễn dữ liệu mà không tuân theo khuôn dạng định trƣớc. Cú pháp của XML cho phép lƣu dữ liệu theo mô hình bất kỳ nên việc chuyển đổi biểu diễn dữ liệu của các nguồn lƣu trữ truyền thống và XML có thể thực hiện dễ dàng. XML thƣờng đƣợc lựa chọn nhƣ là một ngôn ngữ trung gian biểu diễn cho dữ liệu trong 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, tôi tập trung nghiên 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 tin trong một tổ chức nói chung thƣờng có nhiều kiểu khác nhau, từ có cấu trúc, bán cấu trúc và không có cấu trúc, bên cạnh đó, các nguồn thông tin thƣờng ở các host vật lý khác nhau, các hệ điều hành khác nhau hoặc các hệ quản trị khác nhau. Ta gọi các nguồn thông tin khác nhau nhƣ vậy là các nguồn thông tin không đồng nhất. Các nguồn thông tin có cấu trúc thƣờng đƣợc xây dựng từ các lƣợc đồ đƣợc định nghĩa trƣớc; các nguồn thông tin bán cấu trúc hầu hết đƣợc xây dựng từ các cấu hình tƣơng tự nhƣng không đƣợc định nghĩa trƣớc về mặt lƣợc đồ; các nguồn thông tin không có cấu trúc đƣợc xây dựng mà không có sự hạn chế nào. Sự khác nhau vốn có trong các định nghĩa dữ liệu ở từng host đặt ra một thách thức lớn cho cố gắng tích hợp trong tiến trình phân tán ở mỗi site. Hai vấn đề xuất hiện từ sự không đồng nhất là: không đồng nhất lƣợc đồ và không đồng nhất ngữ nghĩa. Các kết quả không đồng nhất lƣợc đồ xuất phát từ các lƣợc đồ cục bộ khác nhau. Không đồng nhất ngữ nghĩa xảy ra khi có một sự khác nhau về ý nghĩa, sự biên dịch hoặc dự định sử dụng cùng tên hoặc dữ liệu có liên quan. Bài toán nghiên cứu trong luận văn tiếp cận một kiến trúc với khung hợp nhất cho việc truy cập các nguồn thông tin không đồng nhất trong môi trƣờng Web thông qua mô hình sử dụng tác tử phần mềm. Nghiên cứu sẽ tập trung vào tìm kiếm và tích hợp dữ liệu từ các nguồn phân tán và giải quyết sự không đồng nhất của dữ liệu bằng môi trƣờng dữ liệu XML hợp nhất. Sử dụng DARPA Agent Markup Language + Ontology Interface Layer (DAML+OIL) [26, 27] cho khung mô tả tài nguyên trong phần giao diện của ngƣời sử dụng. Sử dụng tác tử trung tâm (Mediator Agent) - là một tác tử tĩnh để tạo các tác tử tìm kiếm Search Agent - là các tác tử di động (Mobile Agent), nó tƣơng tác với tác tử tại đích đến LocalDB Agent - tác tử Wrapper, lấy dữ liệu cơ sở dữ liệu phân tán thông qua giao diện JDBC và lấy kết quả trả về theo định dạng XML. Để đạt đƣợc các mục tiêu đã liệt kê ở trên, phần còn lại của luận văn đƣợc tổ chức nhƣ sau: 4 Chƣơng 1: Trình bày các kiến thức tổng quan về tác tử, các đặc trƣng của tác tử và hệ đa tác tử, các phƣơng pháp luận xây dựng hệ đa tác tử, khái niệm và ontology và công cụ khai thác ontology, web ngữ nghĩa (Semantic Web) và các khung mô tả tài nguyên. Chƣơng 2: Nền tảng JADE (Java Agent DEvelopment Framework) [7, 28], tìm hiểu và ứng dụng nền tảng JADE phục vụ cho việc cài đặt và thực thi hệ thống. 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: Trình bày khái 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 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 niệm tác tử 1.1.1. Định nghĩa tác tử Công nghệ tác tử là một hƣớng nghiên cứu thu hút rất nhiều sự quan tâm từ những năm 90 đến nay. Tuy nhiên, ngay trong chính cộng đồng tác tử cũng có rất nhiều định nghĩa khác nhau về tác tử. Wooldridge [12] định nghĩa tác tử phần mềm “là một hệ thống tính toán bao gói, được đặt trong một môi trường cụ thể, có khả năng hoạt động linh hoạt và tự chủ để đạt được các mục tiêu thiết kế”. James Odell [8] lại định nghĩa tác tử là một “thực thể có hành vi” với các đặc trƣng sau:  Tự trị: là khả năng hành động mà không cần đến sự can thiệp trực tiếp từ bên ngoài. Nó có một số mức điều khiển thông qua trạng thái nội tại của nó và có các hành động dựa trên kinh nghiệm của chính nó.  Tương tác: giao tiếp với môi trƣờng và các tác tử khác.  Thích nghi: khả năng phản ứng với các tác tử khác và/hoặc môi trƣờng của nó ở một vài mức độ nào đó. Dạng thích nghi cao cấp hơn là cho phép một tác tử có thể sửa đổi hành vi của mình dựa trên kinh nghiệm của nó.  Xã hội: thể hiện trong mối quan hệ xã hội.  Di động: có thể tự di chuyển từ môi trƣờng này sang môi trƣờng khác.  Ủy quyền: có thể hành động với tƣ cách của một ai đó hoặc một cái gì đó, có nghĩa là hành động nhƣ một ngƣời đại diện hoặc hành động vì lợi ích của một vài thực thể nào đó.  Chủ động: Không đơn giản là chỉ tác động trở lại tới môi trƣờng mà hành động có chủ đích để đạt đƣợc mục tiêu.  Thông minh: hình thức hóa các trạng thái của tác tử (ví dụ: niềm tin, mục tiêu, các dự kiến, các giả định..) bằng tri thức và các tƣơng tác với các tác tử khác sử dụng ngôn ngữ hình thức.  Suy luận: có thể lựa chọn một hành động dựa trên các mục tiêu chính và sự hiểu biết về một hành động cụ thể có khả năng giúp nó tiến đến gần mục tiêu hơn.  Không thể dự báo trước: có thể hành động theo cách nào đó không hoàn toàn có thể dự đoán trƣớc đƣợc thậm chí dù đã biết trƣớc tất cả các điều kiện ban đầu.  Thời gian liên tục: là một quá trình chạy liên tục. 6  Rõ ràng và giải nghĩa được: khi đƣợc yêu cầu thì phải rõ ràng và trong suốt, khi cần có thể cung cấp nhật ký ghi lại các hành động của nó.  Phối hợp: có thể thực hiện một số hành động trong một môi trƣờng dùng chung với các tác tử khác.  Hợp tác: có thể phối hợp với các tác tử khác để đạt đƣợc mục đích chung. Các tác tử không đối kháng nhau sẽ thành công hoặc thất bại cùng nhau (sử dụng thuật ngữ “Cộng tác” đồng nghĩa với “Hợp tác”).  Cạnh tranh: có thể phối hợp với các tác tử khác trừ khi thành công của một tác tử dẫn đến thất bại của các tác tử khác (trái nghĩa của “Hợp tác”)  Mạnh: khả năng giải quyết các lỗi và các dữ liệu không đầy đủ.  Đáng tin cậy: trung thực. Cho đến nay, chƣa có một định nghĩa chuẩn nào về tác tử, hầu hết cộng đồng đều đồng ý rằng giới hạn về tác tử cho các hệ thống công nghệ thông tin sẽ không hữu ích nếu không có ít nhất 3 tính chất đầu tiên ở trên. Những ý kiến khác đòi hỏi các tác tử công nghệ thông tin phải có tất cả các tính chất trên với các mức độ khác nhau. Thƣờng thì một tác tử công nghệ thông tin đƣợc coi là một thực thể tự trị có thể tƣơng tác với môi trƣờng của nó. Nói cách khác, nó phải có khả năng quan sát môi trƣờng và hành động theo môi trƣờng mà nó tồn tại. 1.1.2. Phân loại tác tử Sự phân loại tác tử chỉ có ý nghĩa tƣơng đối, tùy thuộc vào các tiêu chí ta lựa chọn để phân loại, cũng nhƣ mục tiêu của việc phân loại. Các tác tử trong các hệ thống công nghệ thông tin có những yêu cầu riêng: chúng phải thực thi giống nhƣ phần mềm, phần cứng, ngƣời máy, hoặc kết hợp của cả ba. Theo James Odell [8], những ngƣời phát triển tác tử đã xác định một số dạng tác tử điển hình trong phát triển hệ thống công nghệ thông tin nhƣ sau: 1.1.2.1. Tác tử phần mềm Các tác tử phần mềm là một kiểu tác tử riêng. Một tác tử phần mềm là một thực thể phần mềm tự trị có thể tƣơng tác với môi trƣờng của nó. Điều này có nghĩa chúng là các thực thể tự trị và có thể tác động trở lại các thực thể khác, bao gồm cả con ngƣời, máy móc và các tác tử phần mềm khác trong nhiều môi trƣờng và nền tảng (platform) khác nhau. Về cơ bản, các tác tử phần mềm đƣợc thiết kế mẫu cho phần mềm. Phát triển các công cụ, ngôn ngữ và môi trƣờng để hỗ trợ mẫu dựa trên tác tử. Tuy nhiên, có thể thực thi các mẫu thiết kế tác tử sử dụng các công cụ, ngôn ngữ và môi trƣờng hƣớng đối tƣợng hoặc bất kỳ công cụ, ngôn ngữ và môi trƣờng nào khác mà có khả năng hỗ trợ các thực thể phần mềm tự trị, tƣơng tác và thích nghi. Chủ yếu 7 các công cụ dựa trên tác tử vẫn đƣợc ƣa thích hơn bởi vì các mẫu thiết kế tác tử là có sẵn trong phần mềm hơn là đƣợc lập trình. Nói cách khác, có thể sử dụng công nghệ đối tƣợng cho công nghệ dựa trên tác tử, nhƣng tính tự trị, tƣơng tác và thích nghi của tác tử hiện không đƣợc hỗ trợ trong công nghệ hƣớng đối tƣợng. Trong khi đó, các thuộc tính này có thể (và đang) đƣợc thêm vào cách tiếp cận hƣớng đối tƣợng thì các mẫu thiết kế cho các tác tử và phần mềm dựa trên tác tử vẫn chƣa đƣợc hỗ trợ hoàn toàn và trực tiếp. 1.1.2.2. Tác tử tự trị Khi một tác tử có một sự độc lập nào đó với điều khiển bên ngoài, nó đƣợc coi là tự trị. Ở một mức độ nào đó, các tác tử có thể hoạt động mà không cần sự can thiệp hoặc gọi trực tiếp từ bên ngoài. Nếu không có quyền tự trị, một tác tử sẽ không còn là một thực thể động nữa mà giống nhƣ một đối tƣợng thụ động nhƣ một bản ghi trong một bảng quan hệ. 1.1.2.3. Tác tử tương tác Các tác tử tƣơng tác có thể tƣơng tác với cả môi trƣờng và các thực thể khác và có thể đƣợc biểu diễn theo cấp bậc. Ở một mức độ nào đó, các thông điệp đối tƣợng (lời gọi hàm) có thể đƣợc coi là dạng cơ bản nhất của tƣơng tác, mức độ tƣơng tác phức tạp hơn sẽ gồm các tác tử có khả năng phản ứng lại các sự kiện đáng chú ý bên trong môi trƣờng. Các tƣơng tác phức tạp hơn ở các hệ thống trong đó các tác tử tham gia trong các tƣơng tác song song, phức tạp với các tác tử khác. Ở mức độ này, các tác tử bắt đầu hành động giống nhƣ một xã hội. Cuối cùng, mức độ tƣơng tác phức tạp nhất khi các hệ thống bao hàm nhiều tác tử hỗn tạp khác nhau có thể phối hợp thông qua sự cộng tác và/hoặc cạnh tranh (ví dụ nhƣ: thỏa thuận và lập kế hoạch). 1.1.2.4. Tác tử thích nghi Một tác tử đƣợc xem là thích nghi nếu nó có khả năng đáp ứng lại các tác tử khác và/hoặc môi trƣờng của nó ở một vài mức độ nào đó. Ít nhất thì nó phải phản ứng lại một kích thích đơn giản - để tạo một đáp ứng tiền định, trực tiếp tới một sự kiện cụ thể hoặc tín hiệu môi trƣờng. Bộ điều nhiệt, các cảm biến tự động và các máy tìm kiếm đơn giản thuộc loại tác tử thích nghi. Tiến xa hơn tác tử phản ứng đơn giản là các tác tử có khả năng suy luận. Các tác tử suy luận này phản ứng lại bằng cách đƣa ra các suy luận và bao gồm cả các tác tử chẩn đoán bệnh và một số loại tác tử khai phá dữ liệu. Dạng nâng cao hơn của tác tử thích nghi là có khả năng học và tiến hóa. Các tác tử này có thể thay đổi hành vi của chúng dựa theo kinh nghiệm. Các kỹ thuật phần mềm phổ biến cho việc học là các mạng nơ-ron, các luật Bayesian, các luật phân lớp,... Ví dụ: các tác tử học là các tác tử có thể phân tích giọng nói, nhận dạng và theo dõi 8 mục tiêu. Một kỹ thuật chính cho các tác tử tiến hóa thƣờng gồm các giải thuật di truyền và lập trình di truyền. Có thể phát sinh ra các tác tử để phù hợp với mục tiêu đặt ra. Ví dụ: kế hoạch hành động và các chƣơng trình phần mềm tối ƣu hơn bất kỳ sản phẩm nào do con ngƣời làm ra trong một khoảng thời gian vừa phải. 1.1.2.5. Tác tử di động Trong khi các tác tử tĩnh tồn tại nhƣ một quy trình đơn lẻ trên một máy chủ thì các tác tử di động có thể lấy lại và di chuyển mã của chúng tới một máy chủ mới tại đó chúng có thể tiếp tục thực thi. Quan điểm ở mức khái niệm thì các tác tử di động nhƣ vậy có thể đƣợc xem là lƣu động, không định cƣ, lang thang, hoặc di cƣ. Ví dụ, nếu một tác tử muốn lấy thông tin từ một vài nguồn khác nhau trên các platform khác nhau, nó có thể gửi thông tin yêu cầu đến mỗi platform sử dụng kỹ thuật tƣơng đƣơng với một RPC (Remote Procedure Call - gọi thủ tục từ xa). Tuy nhiên, nếu khối lƣợng thông tin ứng với site ở xa là lớn thì cần phải xem xét vấn đề lƣu lƣợng và băng thông. Hơn nữa, tác tử có thể xử lý dữ liệu từ xa hiệu quả hơn các dịch vụ nhƣ vậy tại site ở xa. Việc di chuyển tác tử tới một trong nhiều platform khác nhau có thể sẽ hiệu quả hơn là cách xử lý dữ liệu từ xa. 1.1.2.6. Tác tử phối hợp Các tổ chức nhân sự tồn tại chủ yếu để phối hợp các hành động của nhiều cá nhân vì một số mục tiêu. Mục tiêu này có thể là tạo ra các kết cấu nhƣ các đơn vị kinh doanh sinh lãi, các tổ chức từ thiện, các công ty ba lê hoặc các liên hiệp nhỏ. Tƣơng tự nhƣ vậy, các hệ thống bao gồm nhiều tác tử có thể sinh lợi theo cùng kiểu mẫu đó. Một số ứng dụng phổ biến nhất về tác tử phối hợp là dây chuyền cung cấp, lập lịch, giải quyết vấn đề, thƣơng lƣợng hợp đồng, và thiết kế sản phẩm. Nếu không có sự phối hợp ở mức độ nào đó, các hệ thống nhƣ vậy không thể tồn tại, dù là ngƣời hay là các hệ thống dựa trên tác tử. Các tổ chức nhân sự không đƣợc xây dựng bởi các cá nhân giống hệt nhau và cùng làm những việc giống nhau mà có sự đa dạng hóa, có ngƣời đại diện, có thƣơng lƣợng, quản lý, cộng tác, cạnh tranh,…Và chúng ta cần thực hiện cách tiếp cận giống nhƣ vậy trên các hệ thống đa tác tử. Tuy nhiên, vẫn nên xem xét cẩn thận trong khi thiết kế và xây dựng cấu trúc của các hệ thống dựa trên tác tử. Điều này sẽ giúp tăng khả năng liên kết chặt chẽ giữa các tác tử với hành vi của chúng, mặc dù sẽ hạn chế và điều chỉnh tính tự động của tác tử nhƣng vẫn đảm bảo đƣợc tính linh hoạt ở mức tác tử. 1.1.2.7. Tác tử thông minh Sau hàng thập kỷ, thuật ngữ "thông minh" vẫn chƣa đƣợc định nghĩa (hoặc đƣợc hiểu) cho hệ thống nhân tạo và ngày nay việc áp dụng thuật ngữ này cho tác tử 9 có lẽ chƣa thật thích đáng. Hầu hết đều có xu hƣớng cho rằng tác tử và tác tử thông minh là tƣơng đƣơng nhau. Có lẽ đây chỉ là sự cố gắng để truyền tải thông tin rằng tác tử có nhiều sức mạnh hơn các cách tiếp cận thƣờng. Ví dụ, khi so sánh với các bảng quan hệ hoặc so sánh với các đối tƣợng, tác tử có thể đƣợc coi nhƣ là cái gì đó “thông minh”. Hoặc, đây chỉ là sự cƣờng điệu của tiếp thị. Tuy nhiên, không sai khi nói rằng khái niệm về sự thông minh của các tác tử là rất khác so với của con ngƣời. Chúng ta không tạo các tác tử để thay thế con ngƣời mà chúng ta tạo chúng để giúp đỡ hoặc bổ sung thêm cho con ngƣời. Các tác tử thông minh yêu cầu một bộ cơ bản các thuộc tính và tính năng. Ví dụ, một trạng thái của tác tử thông minh phải đƣợc chuẩn hóa bởi tri thức (hiểu biết, mục tiêu, mơ ƣớc, ý định, giả định,…) và có thể hành động trên cơ sở tri thức này. Nó cần có khả năng kiểm tra sự hiểu biết và mơ ƣớc của nó, hình thành ý định của nó, lập kế hoạch các hành động mà nó sẽ thực hiện dựa trên các giả định nào đó, và cuối cùng là hành động theo kế hoạch đó. Ngoài ra, các tác tử thông minh phải tƣơng tác đƣợc với các tác tử khác sử dụng ngôn ngữ hình thức. Các nhà nghiên cứu tác tử sử dụng hiểu biết của chúng ta về suy nghĩ của con ngƣời để làm mẫu cho thiết kế các tác tử. 1.1.2.8. Tác tử wrapper Tác tử này cho phép tác tử khác kết nối tới một dịch vụ/hệ thống phần mềm không phải tác tử. Các tác tử khách gửi các lệnh tới tác tử wrapper và đƣợc gọi đến trong các dịch vụ cơ bản. (Tác tử wrapper có thể là không cần thiết với các đối tƣợng nhƣng vẫn nên có các đối tƣợng tồn tại trong cùng một môi trƣờng). Các loại tác tử trên thƣờng chiếm ƣu thế trong các hệ thống dựa trên tác tử, ngoài ra một ứng dụng cũng có thể dùng các dạng tác tử khác nhƣ: tác tử môi giới, tác tử quản lý, tác tử hỗ trợ,… 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ử là gì? Hiện nay, có nhiều cuộc tranh luận đang xảy ra xung quanh định nghĩa chính xác về cái gì tạo thành một tác tử, nhƣng vẫn chƣa có một sự nhất trí hoàn toàn nào. Tuy nhiên, các nhà nghiên cứu tìm ra sự mô tả sau: Một tác tử là một hệ thống máy tính được đóng gói và đặt trong một vài môi trường và có khả năng hành động mềm dẻo, tự trị trong môi trường đó để đạt được các mục tiêu thiết kế của nó. Các tác tử là: các thực thể có thể nhận dạng rõ ràng của bài toán đang đƣợc giải quyết với các giao diện và ranh giới rõ ràng; đƣợc đặt trong một môi trƣờng cụ thể chúng nhận các đầu vào từ trạng thái của môi trƣờng thông qua các bộ cảm nhận của chúng và tác động lên môi trƣờng thông qua cơ quan phản ứng của chúng; đƣợc thiết kế để thực hiện một vai trò cụ thể - chúng có các mục tiêu cụ thể cần đạt đến, có thể là
- Xem thêm -