Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
599,07 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN NGỌC KHẢI NGHIÊN CỨU VỀ TÁC TỬ PHẦN MỀM VÀ ỨNG DỤNG VÀO BÀI TOÁN ĐẶT LỊCH HỌP LUẬN VĂN THẠC SĨ Hà Nội - 2010 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 NGỌC KHẢI NGHIÊN CỨU VỀ TÁC TỬ PHẦN MỀM VÀ ỨNG DỤNG VÀO BÀI TỐN ĐẶT LỊCH HỌP Ngành: Cơng nghệ thơng tin Chun 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 NGUYỄN VIỆT HÀ Hà Nội - 2010 TIEU LUAN MOI download : skknchat@gmail.com 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 tham khảo có xuất xứ rõ ràng 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 10 năm 2010 Nguyễn Ngọc Khải TIEU LUAN MOI download : skknchat@gmail.com LỜI CÁM ƠN Tôi xin chân thành cám ơn thầy cô giáo khoa Công nghệ thông tin, trƣờng Đại học Công nghệ hƣớng dẫn, giúp đỡ truyền đạt kiến thức cho tơi xuốt q trình học tập để hơm tơi hồn thành đƣợc luận văn Đặc biệt tơi xin gửi lời cảm ơn sâu sắc đến thầy giáo PGS TS Nguyễn Việt Hà - ngƣời trực tiếp hƣớng dẫn giúp đỡ tơi mặt để hồn thành luận văn Tôi xin chân thành cám ơn bạn đồng nghiệp, gia đình bạn bè tạo điều kiện giúp đỡ tơi xuốt q trình học tập nhƣ trình làm luận văn Mặc dù cố gắng hoàn thành luận văn với tất nỗ lực mình, song luận văn chắn khơng tránh khỏi thiếu sót, tơi mong nhận đƣợc ý kiến đóng góp, ý kiến phê bình thầy cô giáo, bạn đồng nghiệp để tơi tiếp tục nghiên cứu hồn thiện luận văn Xin chân thành cảm ơn ! Hà Nội, tháng 10 năm 2010 Học viên Nguyễn Ngọc Khải TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC MỞ ĐẦU CHƢƠNG 1: TÁC TỬ PHẦN MỀM VÀ HỆ ĐA TÁC TỬ 1.1 Tác tử phần mềm 1.1.1 Khái niệm tác tử phần mềm 1.2.2 Tƣơng tác hệ đa tác tử 11 1.2.3 Các lợi hệ thống đa tác tử 12 1.2.4 Lĩnh vực áp dụng hệ thống đa tác tử 13 CHƢƠNG 2: KỸ NGHỆ PHẦN MỀM HƢỚNG TÁC TỬ 14 2.1 Cách tiếp cận phát triển hệ đa tác tử 14 2.1.1 Cách tiếp cận theo tác tử 14 2.1.2 Cách tiếp cận phát triển từ phƣơng pháp hƣớng đối tƣợng 15 2.1.3 Cách tiếp cận dựa công nghệ tri thức 15 2.2 Phƣơng pháp MaSE 16 2.2.1 Đặc điểm phƣơng pháp luận MaSE 16 2.2.2 Quy trình phát triển phần mềm hƣớng tác tử 18 CHƢƠNG 3: ỨNG DỤNG TÁC TỬ CHO BÀI TOÁN ĐẶT LỊCH HỌP 33 3.1 Mơ tả tốn đặt lịch họp 33 3.2.1 Giải pháp liệu tập trung xử lý tập trung 34 3.2.2 Giải pháp liệu phân tán xử lý tập trung 35 3.2 Giải pháp ứng dụng công nghệ tác tử 37 3.3.1 Giải pháp thứ 37 3.3.2 Giải pháp thứ hai 40 3.3.3 Một số kỹ thuật liên quan đến hoạt động tác tử 42 CHƢƠNG 4: THỰC NGHIỆM 46 4.1 Công cụ phát triển thực nghiệm 46 4.1.1 Giới thiệu JADE 46 4.1.2 Xây dựng hệ thống đa tác tử với JADE 47 4.2 Thực nghiệm 49 4.2.1 Hệ thống thực nghiệm 49 4.2.2 Kết thực nghiệm 50 KẾT LUẬN 53 TIEU LUAN MOI download : skknchat@gmail.com MỞ ĐẦU Trong thời đại công nghiệp nay, cơng ty, xí nghiệp, trƣờng học thƣờng xuyên cần tổ chức họp, hội thảo Mỗi cần tổ chức họp ngƣời tổ chức phải điều kiện ràng buộc họp thời gian biểu thành viên để chọn thời gian tổ chức họp cho phù hợp Tuy nhiên lịch làm việc thành viên lại khác nhau, việc tìm khoảng thời gian để tổ chức họp cho ảnh hƣởng đến thành viên họp khó khăn Thơng thƣờng ngƣời tổ chức thƣờng phải đàm phán điện thoại hay email với thành viên để thống lịch họp Giải pháp có tác dụng số ngƣời tham gia ít, cịn họp có đơng ngƣời tham gia thƣờng phải cố định thời gian cụ thể yêu cầu thành viên phải tuân theo Điều làm ảnh hƣởng đến cơng việc thành viên mà đơi cịn làm ảnh hƣởng đến hiệu công việc quan Để giải vấn đề trên, cần hệ thống đặt lịch họp tự động để tìm thời gian tổ chức họp cho phù hợp dựa ràng buộc họp lịch biểu cá nhân thành viên Vấn đề đặt hệ thống phải đảm bảo đƣợc yêu cầu bảo mật thơng tin cá nhân có lịch biểu thành viên, phải đảm bảo cho ngƣời dùng sử dụng hệ thống thuận tiện lúc nơi Để đảm bảo đƣợc yêu cầu bắt buộc phải lƣu trữ liệu thành viên phân tán máy tính cá nhân họ sử dụng chƣơng trình mang thuật tốn đến máy tính để tính tốn mang kết Để thực đƣợc ý tƣởng nhận thấy sử dụng công nghệ tác tử giải pháp hợp lý Cơng nghệ tác tử cơng nghệ có nhiều ƣu điểm bật so với công nghệ thời, đặc biệt lĩnh vực xử lý phân tán Công nghệ tác tử công nghệ hứa hẹn nhiều tiềm lĩnh vực công nghệ phần mềm, nhiên chúng nhiều thách thức chờ đợi giải Đó lý mà tơi lựa chọn đề tài để thực luận văn Nội dung luận văn bao gồm vấn đề sau: Tìm hiểu khái niệm công nghệ tác tử, hệ thống đa tác tử Tìm hiểu quy trình phát triển phần mềm hƣớng tác tử Xây dựng giải pháp cho toán đặt lịch họp dựa công nghệ tác tử kết thực nghiệm giải pháp TIEU LUAN MOI download : skknchat@gmail.com Với nội dung luận văn đƣợc bố cục bao gồm bốn chƣơng nhƣ sau: Chƣơng trình bày khái niệm tác tử phần mềm, hệ đa tác tử, đặc điểm tác tử, cách thức phân loại tác tử, cách thức giao tiếp tác tử hệ đa tác tử, lợi ích lĩnh vực áp dụng hệ đa tác tử Chƣơng trình bày phƣơng pháp tiếp cận hệ đa tác tử quy trình phát triển phần mềm hƣớng tác tử MaSE Chƣơng trình bày chi tiết tốn đặt lịch họp, phân tích đề xuất giải pháp ứng dụng công nghệ tác tử để giải tốn Chƣơng trình bày thực nghiệm kết đạt đƣợc tiến hành thực nghiệm giải pháp đề chƣơng Ngồi chƣơng cịn dành phần để trình bày cơng cụ JADE (Java Agent Development), công cụ dùng để triển khai giải pháp ứng dụng công nghệ tác tử hiệu TIEU LUAN MOI download : skknchat@gmail.com CHƢƠNG TÁC TỬ PHẦN MỀM VÀ HỆ ĐA TÁC TỬ Chƣơng luận văn trình bày kiến thức sở tác tử, hệ đa tác tử, cách thức phân loại tác tử, ƣu điểm công nghệ tác tử, lĩnh vực áp dụng cơng nghệ tác tử Đây tảng để tiếp cận với vấn đề liên quan đến tác tử hệ đa tác tử 1.1 Tác tử phần mềm 1.1.1 Khái niệm tác tử phần mềm Cho đến chƣa có định nghĩa thống tác tử phần mềm, nhiên qua tìm hiểu số khái niệm nhà khoa học nghiên cứu tác tử phần mềm đề xuất, mô tả tác tử phần mềm nhƣ đối tƣợng phần mềm hoạt động cách tƣơng đối độc lập, tự chủ có khả cộng tác với mơi trƣờng để hồn thành nhiệm vụ định trƣớc Đặc điểm tác tử có khả đóng gói mã lệnh, liệu trạng thái thi hành, nhờ chuyển công việc thực máy đến máy khác [26] Nhƣ vậy, so với công nghệ tính tốn phân tán trƣớc đây, cơng nghệ tác tử tỏ công nghệ tiên tiến 1.1.2 Các đặc tính tác tử Tác tử có đặc tính nhƣ sau [9]: – Tính tự trị: khả tự kiểm soát thân tác tử sau đƣợc giao việc mà không cần can thiệp ngƣời dùng tác tử khác – Tính di động: khả di chuyển từ môi trƣờng thi hành sang môi trƣờng thi hành khác tác tử Khả di động tác tử đƣợc phân thành hai loại: di động mạnh (strong mobility) di động yếu (weak mobility) Di động mạnh khả mà hệ thống di chuyển mã chƣơng trình trạng thái thi hành tác tử đến môi trƣờng khác Di động yếu khả mà hệ thống di chuyển mã chƣơng trình mơi trƣờng thi hành với nhau, mã nguồn mang kèm theo số liệu khởi tạo nhƣng trạng thái thi hành khơng thể di chuyển – Tính thích ứng: khả mà tác tử thực thi mơi trƣờng lạ, cảm nhận đƣợc thay đổi môi trƣờng TIEU LUAN MOI download : skknchat@gmail.com – Khả cộng tác: khả liên lạc, phối hợp hoạt động tác tử với tác tử khác môi trƣờng hay với loại đối tƣợng khác mơi trƣờng khác – Tính chủ động: tác tử có khả thể ứng xử hƣớng mục tiêu việc hoàn thành kế hoạch để thoả mãn mục tiêu thiết kế 1.1.3 Tiêu chí phân loại tác tử [14] [24] Để phân loại tác tử theo tiêu chí sau: – + Theo tính di động tác tử + Theo khả suy luận hay phản xạ tác tử + Theo tính chất đặc thù tác tử + Theo vai trò tác tử + Theo tính lai tạp tác tử Phân loại tác tử theo tính di động Theo tiêu chí khả di chuyển môi trƣờng sang môi trƣờng khác, nút mạng sang nút mạng khác phân chia tác tử làm hai loại: tác tử tĩnh tác tử động – Theo khả suy luận hay phản xạ Tác tử đƣợc phân lớp theo tính suy luận tính phản xạ chúng Theo tiêu chí này, tác tử đƣợc phân làm hai loại: tác tử suy luận tác tử phản xạ Các tác tử suy luận bắt nguồn từ mơ hình tƣ suy luận: tác tử có tập trạng thái trong, mơ hình tƣ chúng hoạt động cách có kế hoạch có hợp tác với tác tử khác Các tác tử phản xạ khơng có tập trạng thái trong, chúng hoạt động theo hình thức đáp ứng lại trạng thái thời môi trƣờng – Theo tính chất đặc thù tác tử Theo tính chất đặc thù tác tử tác tử đƣợc phân thành bốn loại: tác tử hợp tác, tác tử hợp tác học tập, tác tử giao diện tác tử thơng minh Tác tử có khả tự động tác tử có khả tự thi hành hành động mà khơng cần có can thiệp ngƣời, chí đơi điều đánh giá đƣợc Các tác tử có tập trạng thái nhƣ tập mục đích riêng, chúng hoạt động thay mặt cho ngƣời dùng theo phƣơng TIEU LUAN MOI download : skknchat@gmail.com thức nhằm đạt đƣợc mục đích Điểm chốt yếu tính tự động khả chủ động, nhƣ chúng có khả tự khởi tạo cơng việc không đơn đáp ứng lại trƣớc trạng thái thời môi trƣờng Khả hợp tác tác tử đặc điểm quan trọng, để hợp tác đƣợc tác tử cần sở hữu khả xã hội, ví dụ khả tƣơng tác với tác tử khác ngƣời thơng qua số ngơn ngữ Cuối cùng, để tác tử thực thơng minh ngồi khả phản xạ hay tƣơng tác với mơi trƣờng chúng phải có khả học tập Ở quan niệm thực thể thông minh cần phải có khả học tập Q trình học tập giúp nâng cao hiệu hoạt động tác tử – Theo vai trò tác tử Chúng ta phân loại tác tử theo vai trị riêng ngƣời dùng thiết kế Ví dụ tác tử tìm kiếm thơng tin mạng, tác tử báo cáo, tác tử biểu diễn, tác tử phân tích thiết kế, tác tử kiểm tra, tác tử đóng gói tác tử trợ giúp vv – Theo tính lai tạp tác tử Trên thực tế, để nâng cao hiệu tác tử ta thƣờng kết hợp hai hay nhiều mơ hình tác tử khác tác tử để tạo tác tử lai Việc phân biệt tác tử theo tiêu chí mang tính chất tƣơng đối, có tác tử hồn cảnh coi chúng tác tử di động, hồn cảnh khác lại coi chúng tác tử tĩnh, … vậy, tùy trƣờng hợp cụ thể mà phân loại tác tử sử dụng tiêu chí phân loại cho phù hợp Để hiểu rõ cách phân loại này, phần xem xét chi tiết loại tác tử 1.1.4 Các loại tác tử [31] Dựa vào tiêu chí phân loại tác tử có loại tác tử sau: – Tác tử di động Tác tử di động phần mềm tính tốn có khả di chuyển mạng diện rộng, ví dụ nhƣ mạng internet, tƣơng tác với host khác, thay mặt cho ngƣời dùng thu thập thông tin thực tập công việc đƣợc giao sau quay trở lại báo cáo kết đạt đƣợc cho ngƣời chủ Tập công việc mức đơn giản nhƣ truy xuất thông tin phức tạp nhƣ việc điều TIEU LUAN MOI download : skknchat@gmail.com 47 chúng liên lạc đƣợc với khơng phụ thuộc vào vị trí vật lý chúng Các tác tử liên lạc đƣợc với tử khác container tác tử container khác, chí chúng liên lạc đƣợc với tác tử platform khác Do JADE môi trƣờng đƣợc phát triển Java nên ngơn ngữ lập trình cho hệ thống tác tử xây dựng JADE Java Cấu trúc hệ thống đa tác tử đƣợc xây dựng JADE đƣợc mơ tả nhƣ hình vẽ 4.1 Platform A1 AMS A4 DF Main container A2 A3 PC Container Container PC PC Network A1 AMS DF PC Main container Platform Hình 4.1: Cấu trúc hệ thống đa tác tử đƣợc xây dựng JADE [18] 4.1.2 Xây dựng hệ thống đa tác tử với JADE Để xây dựng hệ thống đa tác tử JADE cần thực cơng việc sau: TIEU LUAN MOI download : skknchat@gmail.com 48 – Xây dựng kiểu tác tử: Mỗi kiểu tác tử JADE đƣợc tạo từ việc mở rộng lớp jade.core.Agent cài đặt hàm setup – Xác định nhiệm vụ cho tác tử: Các nhiệm vụ mà tác tử cần hoàn thành đối tƣợng thuộc kiểu lớp lớp jade.core.behaviours Đối tƣợng này, sau đƣợc tạo ra, đƣợc gán cho tác tử Mỗi lớp nhiệm vụ (lớp lớp Behaviour) mô tả ứng xử tác tử nhƣ điều kiện kết thúc cơng việc – Thực q trình trao đổi tác tử: Thông tin tác tử đƣợc thực theo kiểu gửi thông điệp không đồng Định dạng thông điệp JADE ACL, đƣợc FIPA chuẩn hố Mỗi thơng điệp đối tƣợng thuộc lớp jade.lang.acl.ACLMessage Lớp ACLMessage xác định thông tin ngƣời gửi, ngƣời nhận, ngôn ngữ, thể, nội dung, thông điệp Thông điệp đƣợc gửi nhận hàm đƣợc định nghĩa sẵn lớp tác tử – Đăng nhập tìm kiếm dịch vụ: Các tác tử đăng ký dịch vụ mình, tìm kiếm dịch vụ tác tử khác thông qua tác tử DF Thông điệp tác tử DF tác tử khác ACL Tuy nhiên, ngôn ngữ thể thông điệp với DF đƣợc chuẩn hoá FIPA, tác tử làm việc đƣợc với DF platform khác – Xử lý nội dung thơng điệp: thơng điệp đƣợc trao đổi xử lý theo cách: Các thứ sử dụng đối tƣợng thuộc kiểu contentManager để chuyển đổi đối tƣợng Java thành chuỗi ký tự chuỗi byte đặt chuỗi vào mục nội dung thơng điệp ACL Đối tƣợng có nhiệm vụ thực trình ngƣợc lại, chuyển chuỗi thành đối tƣợng Các thứ hai sử dụng phƣơng pháp Java để trao đổi liệu Cách thứ ba sử dụng đối tƣợng thuộc kiểu thể để mô tả cấu trúc ngữ nghĩa nội dung thông điệp TIEU LUAN MOI download : skknchat@gmail.com 49 4.2 Thực nghiệm 4.2.1 Hệ thống thực nghiệm Trong q trình thực nghiệm chúng tơi tiến hành cài đặt ứng dụng theo giải pháp sử dụng cơng nghệ tác tử (đƣợc trình bày phần 3.3.1) Hệ thống thực nghiệm đƣợc tiến hành cài đặt mạng LAN với máy tính đƣợc cài đặt hệ điều hành Windows XP Service Pack 2, Java 1.6 JADE đƣợc bố trí nhƣ hình vẽ 4.2 Mỗi máy tính đƣợc cài sẵn thành phần sau: – Tệp tin Scheduler.txt dùng để lƣu trữ lịch biểu cá nhân ngƣời dùng máy tính – Tập tin Conditions.txt dùng để lƣu trữ điều kiện họp cần tổ – Tập tin Result.txt dùng để lƣu trữ kết trả tác tử mời chức họp – Tác tử ServerAgent đại diện cho ngƣời dùng máy tính để đọc thơng tin từ tập tin lịch biểu Scheduler.txt giao tiếp với tác tử SchAgent ngƣời dùng khác – Tác tử SchAgent dùng để thu thập thông tin lịch biểu thành viên họp tính tốn để đƣa kết thời gian tổ chức họp phù hợp Switch/Hub PC PC PC PC Scheduler.txt Scheduler.txt Scheduler.txt Scheduler.txt Conditions.txt Conditions.txt Conditions.txt Conditions.txt ServerAgent ServerAgent ServerAgent ServerAgent SchAgent SchAgent SchAgent SchAgent Hình 4.2: Mơ hình thực nghiệm TIEU LUAN MOI download : skknchat@gmail.com 50 Mỗi tác tử ServerAgent có hai chức nhƣ sau: – ServerAgent đọc liệu từ tập tin lịch biểu Scheduler.txt máy chủ nhân (chỉ đọc thông tin thời gian mà không đọc thông tin liên quan đến nội dung công việc) chuyển thành chuỗi – Giao tiếp với tác tử thu thập liệu SchAgent để truyền chuỗi thông tin cho tác tử SchAgent Mỗi tác tử SchAgent có nhiệm vụ: – Khi chủ nhân yêu cầu, chúng di chuyển đến máy danh sách để giao tiếp với tác tử ServerAgent để lấy chuỗi thông tin lịch biểu – Tách chuỗi thông tin vừa nhận đƣợc cập nhật liệu vào mảng thông tin – Khi thu thập song liệu lịch biểu khách mời chúng quay máy chủ nhân đọc tập tin Conditions.txt để lấy điều kiện thời gian tổ chức họp sử dụng thuật tốn để tính toán đƣa kết thời gian tổ chức họp hợp lý – Sau có kết chúng ghi kết vào tập tin Result.txt 4.2.2 Kết thực nghiệm Với cách thức tiến hành thực nghiệm nhƣ trên, hệ thống thực nghiệm thu đƣợc kết nhƣ sau: Ngƣời dùng nhập vào tập tin Scheduler.txt liệu lịch biểu với liệu nhƣ bảng biểu 4.1 Lịch biểu ngƣời thứ Lịch biểu ngƣời thứ hai 21/10/2010: 13h-16h: BV luận văn 21/10/2010: 08h-09h: Dự khai giảng 22/10/2010: 10h-11h: Đi dạy lớp C12 22/10/2010: 10h-11h: Họp khoa 24/10/2010: 08h-10h: Đi họp lớp 23/10/2010: 08h-10h: Đi học NVSP 29/10/2010: 16h-17h: Họp tổ môn 29/10/2010: 16h-17h: Họp tổ môn Lịch biểu ngƣời thứ ba Lịch biểu ngƣời thứ tƣ 21/10/2010: 08h-09h: Dự khai giảng 21/10/2010: 14h-15h: Tiếp Thanh tra 23/10/2010: 09h-11h: Đi sửa máy tính 23/10/2010: 09h-11h: Dạy lớp T14 24/10/2010: 08h-10h: Đi họp ISO 24/10/2010: 08h-10h: Báo cáo ĐTKH 29/10/2010: 08h-11h: Họp CBCNVC 29/10/2010: 08h-11h: Coi thi lớp K12 Bảng 4.1: Nội dung tập tin Scheduler.txt ngƣời dùng TIEU LUAN MOI download : skknchat@gmail.com 51 Ngƣời dùng nhập vào nội dung tập tin điều kiện họp Conditions.txt với liệu nhƣ hình vẽ 4.3 22/10/2010-24/10/2010 08h-12h Hình 4.3: Nội dung tập tin Conditions.txt ngƣời dùng Nội dung tập tin Conditions.txt có nghĩa họp phải đƣợc tổ chức khoảng thời gian từ ngày 22/10/2010 đến ngày 24/10/2010, vào thời điểm từ 8h đến 12h Sau ngƣời dùng kích hoạt tác tử SchAgent để thu thập thơng tin lịch biểu tính tốn để đƣa thời điểm họp nhận lại đƣợc tệp tin kết Result.txt có nội dung nhƣ hình vẽ 4.4: Hình 4.4: Nội dung tập tin kết Result.txt Tệp tin kết cho thấy: Ngày 22/10/2010: thời điểm từ 8h đến 10h, 11h đến 12h khơng có thành viên bận Thời điểm từ 10h đến 11h có hai thành viên bận Ngày 23/10/2010: thời điểm từ 8h đến 9h có thành viên bận, từ 9h đến 10h có ba thành viên bận, từ 10h đến 11h có hai thành viên bận, từ 11h đến 12h khơng có thành viên bận Ngày 24/10/2010: thời điểm 8h đến 10h có ba thành viên bận, từ 10h đến 12h khơng có thành viên bận TIEU LUAN MOI download : skknchat@gmail.com 52 Căn tệp tin kết ngƣời dùng chọn thời điểm họp vào thời điểm: từ 8h đến 10h ngày 22/10/2010 từ 10h đến 11h ngày 24/10/2010 vào lúc 11h đến 12h ngày 22/10/2010, 23/10/2010, 23/10/2010 Các thời điểm thời điểm khơng có thành viên bận cơng việc Nhƣ ta thấy thực nghiệm cho kết hồn tồn xác so với tính tốn lý thuyết Tuy nhiên nhận thấy ứng dụng mà thực nghiệm cài đặt nhiều điểm hạn chế chƣa thực thuận lợi cho ngƣời sử dụng Để ứng dụng trở thành tiện ích tốt thực tế cần bổ xung thêm tính hỗ trợ ngƣời dùng cho tiện lợi Kết luận Kết thực nghiệm cho thấy giải pháp sử dụng công nghệ tác tử hoàn toàn khả thi, nhiên để ứng dụng đƣa vào sử dụng đƣợc thực tế cần phải nghiên cứu thêm số vấn đề sau: – Do ứng dụng hoạt động môi trƣờng phân tán, nên việc bảo mật cho tác tử trình hoạt động quan trọng cần phải sử dụng thêm phƣơng thức bảo mật, mã hóa, chứng thực cho tác tử, kiểm soát truy cập trái phép vào tác tử – Trong trình hoạt động, hệ thống dễ gặp phải tình bị lỗi, bị dừng đột ngột (nhƣ điện chẳng hạn) tác tử hoạt động khơng hồnh thành đƣợc nhiệm vụ mình, ngƣời dùng phải bắt đầu lại cơng việc từ đầu thời gian, cần bổ xung thêm tính tự phục hồi cho tác tử trƣờng hợp gặp cố – Ngoài cần phải xây dựng thêm tính hỗ trợ ngƣời dùng để ngƣời dùng thao tác, làm việc với hệ thống thuận tiện Kết thực nghiệm phần chứng minh đƣợc giải pháp mà đƣa chƣơng hoàn toàn khả thi Dựa kết hồn tồn tin tƣởng để tiếp tục hoàn thiện ứng dụng tiếp tục sử dụng công nghệ tác tử vào giải toán khác TIEU LUAN MOI download : skknchat@gmail.com 53 KẾT LUẬN Luận văn trình bày định nghĩa, khái niệm tác tử hệ đa tác tử, hƣớng tiếp cận quy trình phát triển hệ thống đa tác tử Từ phân tích đƣa hai giải pháp ứng dụng cơng nghệ hƣớng tác tử để giải tốn đặt lịch họp Giải pháp thứ nhất: Lịch biểu thành viên đƣợc lƣu trữ phân tán máy tính cá nhân thành viên Khi cần tổ chức họp ngƣời sử dụng cử tác tử mang thuật tốn đến máy tính khách mời để tƣơng tác với tác tử khách mời để lấy thông tin lịch biểu khách (chỉ lấy thông tin ngày khách mời bận, khơng lấy thơng tin nội dung cơng việc) tính tốn để mang kết cho chủ nhân Giải pháp số hạn chế nhỏ song đáp ứng đƣợc yêu cầu đặt toán Giải pháp thứ hai: Lịch biểu thành viên đƣợc lƣu trữ phân tán máy tính cá nhân thành viên Khi thành viên cần tổ chức họp tác tử khách mời kết hợp lại với để sinh tác tử tự hủy xóa đi, tác tử mang thông tin tác tử thành viên tạo lại kết hợp với tác tử khác để tao tác tử tự hủy đi, nhƣ sau đƣợc tác tử chứa thông tin cần thiết lịch biểu thành viên tính tốn để đƣa kết cho ngƣời sử dụng Giải pháp giải đƣợc triệt để vấn đề bảo mật đặt tốn, nhiên giải pháp có nhƣợc điểm khó cài đặt nhiều so với giải pháp Luận văn tiến hành cài đặt thử nghiệm giải pháp thứ nhất, bƣớc đầu cho kết khả quan, khẳng định đƣợc ƣu điểm bật công nghệ tác tử hệ thống phân tán Tuy nhiên luận văn số hạn chế là: ứng dụng mà luận văn xây dựng chƣa đƣợc hồn chỉnh, cịn số vấn đề tồn nhƣ vấn đề bảo mật cho tác tử chúng hoạt động môi trƣờng thực tế, vấn đề tự khắc phục cố tác tử có cố hệ thống Hƣớng phát triển luận văn tiếp tục nghiên cứu hồn thiện ứng dụng để hoạt động đƣợc môi trƣờng mạng thực tế thuận tiện cho ngƣời sử dụng Tiếp tục nghiên cứu giải pháp bảo mật cho tác tử, khả khắc phục cố tác tử, … để đƣa giải pháp hồn chỉnh đầy đủ cho hệ thống sử dụng công nghệ tác tử TIEU LUAN MOI download : skknchat@gmail.com TÀI LIỆU THAM KHẢO H Beck, H S Pinto (2002), “Overview of approach, Methodologies, Standards, and Tools for Ontologies”, The Agricultural Ontology Service, UN FAO G Booch (1994) “Object - oriented analysis and design with applications” Addison Wesley W Branner, R Zarnekow, H WittigSpringer (1998), Intelligent Software Agents: Foundations and Application Paolo Bresciani, Paolo Giorgini, Fausto Giunchiglia, John Mylopoulos, Anna Perini (2002) “Tropos: An agent-oriented software development methodology” Technical Report DIT-02-0015 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 B.Chandrasekaran and John R.Josephson, V.Richard Benjamins (1999), “What are Ontologies, and Why we need them?” IEEE Intelligent Systems, 14 (1), 20-26 S A DeLoach (2002), “AgentMom User’s Manual” Online, http://www.cis.ksu.edu/sdeloach/ai/software/agentMom_2.0/home.html S A DeLoach (2002), “Modeling Organizational Rules in the Multiagent Systems Engineering Methodology”, Proceedings of the 15th Canadian Conference on Artificial Intelligence, Calgary, Alberta, Canada, May 27-29, 2002 S A DeLoach, Mark F Wood and Clint H Sparkman (2001), “Multiagent Systems engineering”, International Journal of Software Engineering and Knowledge Engineering, 11(3), 231-258 10 S A DeLoach12th, Analysis and Design using MaSE and agentTool, Midwest Artificial Intelligence and Cognitive Science Conference (MAICS 2001), Miami University, Oxford, Ohio, March 31-April 1, 2001 11 J DiLeo, T Jacobs and S A DeLoach (2002), “Integrating Ontologies into Multiagent Systems Engineering”, Fourth International Bi-Conference Workshop on Agent-Oriented Information Systems (AOSI 2002), Bologna(Italy), 15-16 July 2002 TIEU LUAN MOI download : skknchat@gmail.com 12 “Foundation for Intelligent Physical Agents FIPA ACL massage representation in string specification." Online, http://www.fipa.org/specs/fipa00070 13 FIPA Modeling: Agent Class Diagrams 14 A Fuggetta, G Vigna, Understanding Code Mobility, IEEE Transactions on Software Engineering, 24(5):342 - 361, May 1998 15 T Finin, Y Labrrou et al (1997) “KQML as an agent communication language”, In J Bradshaw, editor, Software agents MIT Press, 291-316 16 Jung-Lee Hsiao, Hao-Ping Hung and Ming-Syan Chen, “Versatile Transcoding Proxy for Internet Content Adaptation”, IEEE 2007 17 M L Liu, (2003) Distributed Computing Applications, Addision Wesley (Book Online) 18 JADE website: jade.tilab.com 19 Java Mobile Agent: http://www.javaworld.com/ Concepts and 20 Michael Knapik, Jay Johnson, “Developing Intelligent Agents for Distributed Systems”,McGraw Hill, 1997 21 R Nicholas Jennings, Katia Sycara, Michael Wooldrige (1998), “A Roadmap of Agent Research and Development”, Autonomous Agents and MultiAgent Systems, 1, 7-38 22 Mobile Agent: New Model of Intelligent Distributed Computing (eBook) 23 Sunam Pradhan and Arkady Zaslavsky, A Smart Proxy for a Next Generation Web Services Transaction, 6th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2007), IEEE 2007 24 J W Stamos, D K Gifford, Remote Evaluation, ACM Transactions on Programming Languages and Systems, October 1990 25 B Thai and A Seneviratne, “The use of Software Agents as Proxies”, Proceedings of the Fifth IEEE Symposium on Computers & Communications (ISCC'00), IEEE 2000 26 Guijun Wang, Liz Ungar, Dan Klawitter, Component assembly for OO Distributed Systems, IEEE Computer, 7/1999 27 Gerhard Weiss (2002) “Agent Orientation in Software Engineering” Revised version for knowledge engineering review, Vol 16(4), 349-373 TIEU LUAN MOI download : skknchat@gmail.com 28 Wooldridge, (2000) “Reasoning about Agents” MIT Press, Cambridge, MA 29 M Wooldridge (2002), An Introduction to Multiagent Systems, Published in John Wiley & Sons, 2002 30 M Wooldridge and N R Jennings (1995) “Intelligent agents: theory and practice” The Knowledge Engineering Review 10 (2) 115 – 152 31 Nguyễn Hoài Phƣơng Linh, Nguyễn Văn Thoại “Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow” 32 Trần Hạnh Nhi, Lê Đình Duy, Nguyễn Đơng Hà Thái Trí Hùng, Văn Trọng Nam, Huỳnh Tấn Năng, Nguyễn Huy Thẩm, Nguyễn Thái Huy, Phan Đình Thế Huân, Hồ Thị Mỹ Hiền, Lê Văn Triều, Tổng quan Mobile agents, Bộ môn Công Nghệ Phần Mềm, Khoa Công Nghệ Thông Tin, Trƣờng ĐH Khoa Học Tự Nhiên Tp HCM 33 Lƣu Vĩnh Toàn, Nguyễn Thúc Hải, Phát triển ứng dụng phân tán công nghệ tác tử di động 34 Trần Thị Mai Thƣơng, Agent ứng dụng vấn đề trích trọn thơng tin, Đại học Cơng nghệ, ĐHQG - Hà Nội TIEU LUAN MOI download : skknchat@gmail.com PHỤ LỤC Một số mã nguồn tiêu biểu // -ServerAgent import jade.lang.acl.ACLMessage; import jade.lang.acl.UnreadableException; import jade.core.Agent; import jade.core.AID; import jade.domain.FIPAAgentManagement.*; import jade.domain.FIPAException; import jade.domain.DFService; import java.io.*; import java.sql.DriverManager; import java.sql.ResultSet; public class ServerAgent extends Agent { protected void setup() { // - Dang ky voi DF DFAgentDescription dfd = new DFAgentDescription(); ServiceDescription sd = new ServiceDescription(); sd.setType("MettingAgent"); sd.setName(getName()); dfd.addServices(sd); dfd.setName(getAID()); try { DFService.register(this,dfd); } catch (FIPAException e) { System.err.println(getLocalName()+" Dang ki voi DF khong cong Ly la: "+e.getMessage()); doDelete(); } System.out.println(getLocalName()+ " Dang ky DF cong !"); while (true) { try { TIEU LUAN MOI download : skknchat@gmail.com System.out.println(getLocalName()+" Dang cho yeu cau lay thong tin lich bieu "); ACLMessage msg = blockingReceive(); System.out.println(getLocalName()+ " Co mot thong diep gui den ! "); if ("Gui yeu cau".equals(msg.getLanguage())) { Sh p = (Sh)msg.getContentObject(); System.out.println(getLocalName()+ " Nhan duoc yeu cau: " + p.toString()); String s= readFile("Scheduler.txt"); String[] s1 = s.split("\n"); String s2 = ""; int i; for (i=0; i 0)) { dfd = result[0]; reader = dfd.getName(); System.out.println("Da tim thay agent can tim, lay du lieu lich bieu tu agent !"); break; } Thread.sleep(6000); } } catch (Exception fe) { fe.printStackTrace(); TIEU LUAN MOI download : skknchat@gmail.com System.err.println(getLocalName()+" Viec tim kiem agent cung cap lich bieu khong cong ! " + fe.getMessage()); doDelete(); } // -Ham cap nhat du lieu mang cua SchAgent protected boolean capnhatmang(String x) { String s[] = x.split("\n"); int d, g0, g1; // Duyet tung dong file Scheduler.txt for(int i=0; i