Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
820,9 KB
Nội dung
1 MỤC LỤC MỤC LỤC .1 DANH MỤC HÌNH VẼ MỞ ĐẦU CHƢƠNG 1: TÁC TỬ VÀ ĐA TÁC TỬ .7 1.1 Tác tử hệ đa tác tử 1.1.1 Giới thiệu tác tử hệ đa tác tử 1.1.2 Định nghĩa tác tử .7 1.1.3 Các kiểu kiến trúc tác tử .8 1.1.3.1 Những kiến trúc dựa logic 1.1.3.2 Phản ứng .9 1.1.3.3 BDI 10 1.1.3.4 Kiến trúc phân lớp .10 1.1.4 Giao tiếp phối hợp 11 1.1.4.1 Giao tiếp 11 1.1.4.2 Phối hợp 12 1.1.5 Ngơn ngữ lập trình cơng cụ .14 1.1.6 Tác tử di động 15 1.1.6.1 Thế tác tử di động 15 1.1.6.2 Một số ưu điểm nhược điểm tác tử di động 16 1.1.6.3 Di chuyển mạnh di chuyển yếu 17 1.1.6.4 Quá trình di chuyển 17 1.1.7 Tạo tác tử .18 1.1.8 Ứng dụng hệ thống đa tác tử 18 1.2 Nền tảng tác tử vật ký tác tử thông minh 19 1.2.1 FIPA lịch sử mục tiêu 19 1.2.2 Các khái niệm cốt lõi FIPA 21 1.2.2.1 Giao tiếp tác tử 21 1.2.2.2 Các lớp FIPA 22 1.2.2.3 Sự quản lý tác tử .23 1.2.2.4 Kiến trúc trừu tượng 25 1.2.3 Các liên quan đến FIPA JADE 25 CHƢƠNG 2: NỀN TẢNG JADE 26 2.1 JADE gì? .26 2.2 Tóm tắt lịch sử 26 2.3 JADE mơ hình tác tử 27 2.4 Kiến trúc JADE .27 2.5 Những đặc điểm JADE 29 2.5.1 Cài đặt nhiệm vụ cho tác tử 29 2.5.1.1 Lập lịch thực thi Behaviour 30 2.5.1.2 One-shot behaviour, cyclic behavior generic behavio 31 2.5.1.3 Bổ sung thêm hành vi tác tử 31 2.5.1.4 Lập lịch cho hành vi tác tử 32 2.5.2 Truyền thông tác tử 32 2.5.2.1 Gửi thông điệp 33 2.5.2.2 Nhận thông điệp 33 2.5.2.3 Khóa hành vi đợi thông điệp .33 2.5.2.4 Lựa chọn thông điệp từ hàng đợi 34 2.5.2.5 Các hội thoại phức tạp 34 2.5.2.6 Nhận thơng điệp node khóa .34 2.5.3 Tác tử với giao diện đồ họa .35 2.5.3.1 Thực hành lập trình tốt với lắng nghe kiện AWT 35 2.5.3.2 Thực hành lập trình cách sửa đổi giao diện đồ họa luồng thực thi tác tử 36 2.6 Những đặc điểm nâng cao JADE .36 2.6.1 Hợp hành vi để xây dựng tác tử 36 2.6.1.1 Lớp SequentialBehaviour 36 2.6.1.2 Lớp FsmBehaviour 37 2.6.1.3 Lớp ParallelBehaviour 37 2.6.1.4 Chia sẻ liệu hành vi con: DATASTORE 37 2.6.2 Hành vi luồng 37 2.6.3 Các giao thức tương tác 38 2.6.3.1 Gói jade.proto 38 2.6.3.2 Sử dụng lớp giao thức 38 2.6.3.2 Lồng giao thức 39 2.7 Biên dịch chạy chương trình 40 CHƢƠNG 3: KIẾN TRÚC PHẦN MỀM DỰA TRÊN TÁC TỬ VÀ ỨNG DỤNG 43 3.1 Kiến trúc phần mềm dựa tác tử 43 3.2 Thực nghiệm 44 Bài toán 44 Xây dựng mô đun chương trình .44 3.3 Biên dịch tác tử .47 3.4 Gắn tác tử với Jade 48 KẾT LUẬN 51 TÀI LIỆU THAM KHẢO 52 DANH MỤC HÌNH VẼ Hình 1.1 Kiến trúc gộp Hình 1.2 Kiến trúc PRS .11 Hình 1.3 Luồng liệu luồng điều khiển kiến trúc phân lớp 12 Hình 1.4 Các pha giao thức mạng hợp đồng 13 Hình 1.5 Minh họa mơ hình tham chiếu quản lý agent 23 Hình 1.6 Cấu trúc thơng điệp FIPA 24 Hình 2.1 Các thành phần kiến trúc 28 Hình 2.2 Mối quan hệ yếu tố kiến trúc 28 Hình 2.3 Luồng thực thi tác tử 31 Hình 2.4 Cơ chế truyền thông điệp không đồng JADE 32 Hình 2.5 Máy hữu hạn trạng thái lớp AchieveREResponder 39 Hình 2.6 Cấu trúc thư mục JADE 40 Hình 2.7 Giao diện JADE RMA 42 Hình 3.1 Mơ hình kiến trúc phần mềm dựa tác tử 43 Hình 3.2 Mơ hình tốn ứng dụng tác tử 44 Hình 3.3 Hình ảnh chương trình thực nghiệm 46 Hình 3.4 Kết thao tác biên dịch tác tử .48 Hình 3.5 Tìm tới tác tử vừa tạo .48 Hình 3.6 Kết thao tác tạo tác tử 49 Hình 3.7 Điền thông tin .49 Hình 3.8 Kết chạy DOS 50 MỞ ĐẦU Trong lĩnh vực cơng nghệ phần mềm có nhiều phương pháp tiếp cận để xây dựng phần mềm Trong đó, xây dựng phần mềm dựa tác tử hướng tiếp cận đem lại nhiều lợi ích, đặc biệt số ứng dụng chuyên biệt Xuất phát từ yêu cầu thực tế em chọn đề tài “Kiến trúc phần mềm dựa tác tử ” Đồ án bao gồm chương : Chƣơng 1: Tác tử đa tác tử Giới thiệu tổng quan kiến thức tác tử đa tác tử Chƣơng 2: Nền tảng JADE Trong chương đồ án trình bày đặc điểm kiến trúc JADE yếu tố liên quan Chƣơng 3: Kiến trúc phần mềm dựa tác tử ứng dụng Ứng dụng thực ngiệm CHƢƠNG 1: TÁC TỬ VÀ ĐA TÁC TỬ 1.1 Tác tử hệ đa tác tử 1.1.1 Giới thiệu tác tử hệ đa tác tử Chương trước hết giới thiệu khái niệm tác tử [1] [2] [3], tổng quan công nghệ tác tử, kiến trúc tác tử, ngơn ngữ lập trình cơng cụ phát triển Tiếp theo mô tả đặc tả FIPA [1] [7] - tập tiêu chuẩn phổ biến chấp nhận rộng rãi cho phát triển tảng ứng dụng đa tác tử JADE [1] [8] tảng tuân theo đặc tả FIPA cịn mở rộng mơ hình FIPA số lĩnh vực tác tử cho thiết bị di động, tác tử cho dịch vụ web 1.1.2 Định nghĩa tác tử Thuật ngữ “tác tử” hay tác tử phần mềm sử dụng rộng rãi xuất nhiều lĩnh vực nghiên cứu trí tuệ nhân tạo, sở liệu, tài liệu hệ điều hành mạng máy tính Mặc dù chưa có định nghĩa thống tác tử tất định nghĩa có chung điểm tác tử, chất, phần mềm máy tính đặc biệt tự chủ cung cấp interface có khả tương thích với hệ thống và/hoặc cư xử tác tử người hay đại diện cho số client để thực thi đích cho riêng Mặc dù đa tác tử cần dựa tác tử đơn lẻ để làm việc môi trường tương tác với người dùng cần thiết, nhiên đa tác tử thường bao gồm nhiều tác tử Những hệ thống đa tác tử (MAS: Multiagent System) sử dụng để mơ hình hóa hệ thống phức tạp bao gồm tác tử với mục tiêu chung riêng Những tác tử tương tác với cách gián tiếp (qua tác động lên môi trường) trực tiếp (thông qua giao tiếp thương lượng) Các tác tử định hợp tác để có lợi cạnh tranh để phục vụ cho mục tiêu Như vậy, tác tử có tính tự chủ, hoạt động mà khơng có can thiệp trực tiếp người hệ thống khác có khả kiểm sốt hành động trạng thái bên Tác tử có tính xã hội, tương tác với người tác tử khác để hoàn thành nhiệm vụ Tác tử có tính phản ứng, nhận thức mơi trường đáp ứng cách kịp thời với thay đổi xảy mơi trường Tác tử có tính hướng đích, khơng đơn giản hoạt động để phản ứng với mơi trường mà cịn có khả thể hoạt động hướng đích cách chủ động Tác tử có tính di động, với khả di chuyển node mạng máy tính Tác tử có tính trung thực nghĩa cung cấp thật Tác tử tốt bụng, ln cố gắng thực u cầu Tác tử sáng suốt, hoạt động hướng đến để đạt mục tiêu không ngăn cản việc đạt mục tiêu 1.1.3 Các kiểu kiến trúc tác tử Kiến trúc tác tử chế nằm bên thành phần tự chủ nhằm hỗ trợ hành vi tác tử giới thực, môi trường động môi trường mở Trong thực tế, nỗ lực ban đầu lĩnh vực tính tốn dựa tác tử tập trung vào phát triển kiến trúc tác tử thông minh đưa nhiều kiểu kiến trúc Vì vậy, kiến trúc tác tử chia thành bốn nhóm: dựa logic, có tính phản ứng, BDI phân lớp 1.1.3.1 Những kiến trúc dựa logic Những kiến trúc dựa logic (logic-based) lấy tảng từ kỹ thuật dựa tri thức truyền thống mơi trường thể hoạt động cách sử dụng chế lập luận Ưu điểm cách tiếp cận tri thức người biểu diễn ký hiệu mà việc mã hóa trở nên dễ dàng làm cho người hiểu logic hoạt động dễ dàng Nhược điểm khó để biên dịch giới thực thành mơ tả hình tượng cách xác đầy đủ Hơn việc biểu diễn xử lý dạng kí hiệu nhiều thời gian để có kết thường đưa muộn, không cịn có ích 1.1.3.2 Phản ứng Những kiến trúc có tính phản ứng (reactive) thực thi q trình đưa định ánh xạ trực tiếp tình sang hành động dựa chế kích thích - phản ứng tạo liệu thiết bị cảm biến Không giống kiến trúc dựa logic, chúng khơng có mơ hình biểu diễn tri thức thế, không tận dụng kiểu lập luận phức tạp Kiến trúc có tính phản ứng tiếng kiến trúc gộp Brooks [7] Những ý tưởng mà dựa Brooks tìm kiến trúc là: Một cách ứng xử thông minh tạo mà khơng cần biểu diễn rõ ràng lập luận cung cấp kỹ thuật trí tuệ nhân tạo Thơng minh tính chất riêng biệt hệ thống phức tạp Kiến trúc gộp xác định tầng máy hữu hạn trạng thái – máy kết nối với thiết bị cảm biến – thiết bị truyền thơng tin theo thời gian thực (một ví dụ kiến trúc gộp thể hình 1.1) Các tầng tạo thành phân cấp hành vi tác tử đó, mức độ thấp điều khiển so với mức độ cao ngăn xếp, việc định đưa thơng qua hành vi hướng đích Những tác tử thiết kế gộp hiểu điều kiện hành động, không đưa kế hoạch Hình 1.1 Kiến trúc gộp Điểm mạnh phương pháp tiếp cận thực thi tốt môi trường động, chúng thường thiết kế đơn giản so với tác tử dựa logic Tuy nhiên, nhược điểm tác tử có khả phản ứng khơng áp dụng mơ hình kết tác động mơi trường chúng Do đó, liệu khơng đủ để xác định hành động thích hợp thiếu 10 trạng thái tác tử khiến cho thiết kế tác tử học hỏi từ kinh nghiệm 1.1.3.3 BDI Các kiến trúc BDI (Belief, desire, intention) [5] kiến trúc tác tử phổ biến Chúng có nguồn gốc triết học dựa lý thuyết logic Lý thuyết dựa quan điểm tinh thần niềm tin, mong muốn dự định cách sử dụng logic hình thức Một kiến trúc BDI tiếng hệ thống lập luận theo thủ tục (PRS – Procedural Reasoning System) Kiến trúc dựa kiểu liệu chính: Lịng tin (beliefs), tác vụ (desires), ý định (intentions) kế hoạch (plans) phận phiên dịch (xem hình 2.2) Trong hệ thống PRS, lòng tin biểu diễn thơng tin mà tác tử có mơi trường nó, khơng đầy đủ khơng xác Tác vụ biểu diễn tác vụ phân công cho tác tử tương ứng mục tiêu, mục đích mà hồn thành Ý định thể mong muốn mà tác tử cần phải đạt Cuối cùng, kế hoạch rõ vài trình hành động mà tác tử phải làm để đạt mục đích Bốn cấu trúc liệu quản lý phận phiên dịch tác tử chịu trách nhiệm cập nhật lòng tin từ quan sát từ môi trường, sinh tác vụ dựa sở lòng tin mới, lựa chọn tập tác vụ vài tập để hoạt động, chúng gọi ý định Cuối cùng, phận phiên dịch phải lựa chọn hành động để thực thi dựa sở ý định tác tử tri trức mặt thủ tục 1.1.3.4 Kiến trúc phân lớp Kiến trúc phân tầng (layered architecture) cho phép hành vi tác tử vừa mang tính phản xạ vừa có tính kế hoạch Để có linh hoạt này, hệ thống xếp thành tầng hệ thống phân cấp nhằm thích ứng với hai loại hành vi tác tử Có hai loại luồng điều khiển kiến trúc phân lớp: phân lớp ngang phân lớp dọc Trong phân lớp nằm ngang, lớp kết nối cách trực tiếp với đầu vào sensor đầu hành động có tầng hoạt động giống tác tử Điểm mạnh cách phân lớp dễ dàng thiết kế tác tử t cần n loại hành vi khác nhau, kiến trúc yêu cầu n tầng Tuy nhiên, tầng bị ảnh hưởng tác tử, nên khơng cần có chức 38 Phương thức removeBehaviour() lớp Agent không ảnh hưởng tới hành vi luồng Một hành vi luồng bị xóa việc lấy đối tượng Thread có việc gọi phương thức getThread() lớp ThreadedBehaviourFactory gọi phương thức interrupt() Khi tác tử chết, di chuyển tạm dừng, hành vi luồng hoạt động phẩn bị kill rõ ràng việc sử dụng kĩ thuật mô tả Nếu hành vi hành vi song song (parallel) cấu hình với sách kết thúc WHEN_ANY hành vi luồng, việc kết thức hành vi khác khơng stop Hành vi luồng phải kill cách rõ ràng mô tả Khi hành vi luồng truy xuất vài tài nguyên tác tử, mà truy xuất hành vi luồng khơng luồng khác, việc quan tâm tính đắn phải trả giá việc đồng 2.6.3 Các giao thức tƣơng tác Ở giai đoạn người đọc quen thuộc với ngôn ngữ FIPA-ACL sử dụng tác tử JADE để giao tiếp Ngôn ngữ cung cấp tập biểu diễn chuẩn, biểu diễn định cách rõ ràng Một ưu điểm đặc điểm khả chuỗi thông điệp định nghĩa trước áp dụng vài hoàn cảnh chia sẻ kiểu giao tiếp mà không quan tâm miền ứng dụng Một chuỗi thông điệp biết đến giao thức tương tác 2.6.3.1 Gói jade.proto Tất lớp cung cấp hỗ trợ việc cài đặt giao thức chuẩn JADE nằm gói jade.proto Khi việc tham gia phiên trao đổi điều khiển giao thức tương tác tác tử đóng vài trị initiator (bên khởi tạo) responder (bên đáp ứng) Kết lớp gói jade.proto chia thành initiator responder 2.6.3.2 Sử dụng lớp giao thức Như đề cập trên, lớp giao thức cung cấp số giao thức gọi lại Những phương thức lập trình viên sử dụng để định nghĩa lại cách tùy biến chúng theo logic miền ứng dụng Chúng khai báo để 39 bảo vệ có cài đặt mặc định Theo cách này, lập trình viên chọn (tùy thuộc vào yêu cầu cụ thể) phương thức cài đặt phương thức bỏ qua Với bên khởi tạo bên đáp ứng, phần lớn phương thức gọi lại gọi theo việc nhận thơng điệp có dạng : protected handle(ACLMessage receivedMessage) 2.6.3.2 Lồng giao thức Như trình bày phần trước, lớp initiator responder gọi phương thức callback nhận thông điệp Nếu phải gửi lại thông điệp phản hồi phương thức callback có trách nhiệm tạo thơng điệp Tuy nhiên, có trường hợp để tạo thông điệp phản hồi, cần phải thực thi hành vi Rõ rang việc ngăn cản sử dụng lớp ContractNetInitiator khơng thể thực thi hành vi phương thức.Để vượt qua giới hạn này, tất lớp giao thức JADE cài đặt lớp lớp FSMBehaviour phương thức callback gọi trạng thái máy hữu hạn trạng thái Hình 2.5 máy hữu hạn trạng thái lớp AchieveREResponder Hình 2.5 Máy hữu hạn trạng thái lớp AchieveREResponder Bên cạnh trạng thái dùng để gọi phương thức callback, cịn có trạng thái khác có trách nhiệm gửi, nhận thông điệp thực kiểm tra liên quan đến luồng giao thức Tuy nhiên, chùng ẩn người lập trình khơng cần quan tâm đến Đường nét đứt hình 2.5 cách liệu chia sẻ trạng thái giao thức sử dụng DataStore 40 2.7 Biên dịch chạy chƣơng trình Các phần mềm liên quan tới JADE download từ trang web JADE: http://jade.tilab.com Phần mềm liên quan tới JADE chia thành hai mục: phân tán (main distribution) tích hợp (add ons) Phần tích hợp gồm modun tự chứa, cài đặt đặc trưng mở rộng đặc tả Sự phân tán gồm file archive: jadeBin.zip chứa file archive tiền biên dịch JADE java sẵn sàng trạng thái sử dụng jadeDoc.zip chứa tài liệu bao gồm tài liệu hướng dẫn cho lập trình viên người quản trị Tài liệu có trực tuyến trang web jadeExamples.zip chứa mã nguồn ví dụ khác jadeSrc.zip chứa tất mã nguồn JADE jadeAll.zip chứa tất file Các file zip download giải nén, có file/thư mục quan trọng như: Giấy đăng kí (license), giấy đăng kí mã nguồn mở, quy định cách sử dụng phần mềm File jade/doc/index.html điểm bắt đầu tốt cho người bắt đầu làm quen với jade, gồm liên kết (link) tới chuyên để (thematic tutorial), tài liệu hướng dẫn cho lập trình viên người quản trị, tài liệu javadoc tất mã nguồn mở, với nhiều tài liệu hỗ trợ khác Thư mục jade/lib chứa tất file jar chứa CLASSPATH java để thực thi jade Nó bao gồm thư mục lib/commons- codec, chứa mã 64bit có CLASSPATH java Hình 2.6 Cấu trúc thƣ mục JADE 41 Thư mục jade/src chức thư mục Thư mục Demo chứa mã nguồn ví dụ đơn giản Thư mục Examples chứa mã nguồn nhiều ví dụ hữu ích theo phân đoạn khác tác tử Thư mục FIPA chứa mã nguồn mô đun định nghĩa FIPA Thư mục Jade chứa tất mã nguồn Mã nguồn jade biên dịch cách sử dụng công cụ ANT Các mục tiêu ANT quan trọng là: Jade – biên dịch mã nguồn tạo file class thư mục classes Lib – tạo file archive java thư mục lib Doc – tạo file tài liệu javadoc thư mục doc Example – biên dịch tất ví dụ Thư mục lib chứa file archive, file có chứa lớp mà JADE cần: jade.jar chứa tất gói jade ngoại trừ add ons, MTP công cụ đồ họa jadeTool.jar chứa tất công cụ đồ họa http.jar chứa MTP dựa HTTP, MTP mặc định platform khởi tạo iiop.jar chứa MTP dựa IIOP MTP không sử dụng thường xuyên, đối tượng nghiên cứu ví dụ sau cài đặt đặc tả MTP IIOP FIPA commons-codec/commons-codec-1.3.jar chứa mã 64 bit sử dụng JADE Thư mục classes chứa file class ví dụ Sau download JADE giải nén vào ổ C, ta tạo file runjade.bat ổ C với nội dung sau: java -classpath ;C:\jade\lib\jade.jar;C:\jade\lib\jadeTools.jar;C: \jade\lib\iiop jar;C:\jade\lib\http.jar;C:\jade\lib\commonscodec\commons-codec-1.3.jar jade.Boot -gui 42 Sau chạy file runjade.bat ta kết Hình 2.7 Hình 2.7 Giao diện JADE RMA 43 CHƢƠNG 3: KIẾN TRÚC PHẦN MỀM DỰA TRÊN TÁC TỬ VÀ ỨNG DỤNG Phần mềm máy tính trải qua trình phát triển dài, với nhiều tiến công nghệ yêu cầu công việc thực tế, phần mềm ngày trở nên phức tạp khó kiểm sốt Tuy nhiên, phát triển chưa giải toán phát sinh Hướng tiếp cận xây dựng phần mềm dựa tác tử cách tiếp cận khác để xây dựng chương trình mang tính đặc thù 3.1 Kiến trúc phần mềm dựa tác tử Mơ đun Tác tử chương trình JADE Chương trình gắn với tác tử Mơi trường cho tác tử Mơi trường hệ thống Hình 3.1 Mơ hình kiến trúc phần mềm dựa tác tử Với cách tiếp cận truyền thống mơ đun chương trình, rộng chương trình thực thi mơi trường (platform) Do trường hợp đặc biệt chương trình khơng đủ khả thực thi u cầu người dùng đặt Do chương trình kết hợp với tác tử để tận dụng khả tác tử đem lại Phần mềm dựa tác tử phần mềm thông minh, bao gồm yêu cầu người dùng kết hợp với tính ưu việt tác tử Vì phần mềm dựa tác tử không đáp ứng yêu cầu người dùng mà bao gồm tính tác tử đồng thời khắc phục khuyết điểm phần mềm thông thường khác Tuy nhiên khơng phải chương trình gắn với tác tử, 44 điều phụ thuộc vào yêu cầu người dùng, nữa, tác tử công nghệ vạn Do với yêu cầu toán cụ thể phần mềm xây dựng tảng cụ thể 3.2 Thực nghiệm Trong phần đồ án trình bày thực nghiệm xây dựng chương trình tra cứu điểm sinh viên dựa tác tử Bài tốn với quy mơ nhỏ mô tả tống quát việc xây dựng phần mềm dựa tác tử Bài tốn Xây dựng chương trình dựa tác tử để tra cứu điểm sinh viên Hình 3.2 Mơ hình tốn ứng dụng tác tử Trong tốn cơng việc chi thành tiến trình sau: + Xây dựng chương trình theo thiết kế + Xây dựng tác tử để gắn với mơ đun chương trình + Biên dịch với JADE + Thực thi môi trường JADE Xây dựng mơ đun chƣơng trình Mơ đun kết nối sở liệu điểm public class ConnectODBC_DSN { //các mã chương trình lớp Connection } 45 Xây dựng class ConnectODBC_DSN : public class ConnectODBC_DSN { private Connection con=null; public ConnectODBC_DSN() throws Exception{ String url="sun.jdbc.odbc.JdbcOdbcDriver"; Class.forName(url); String dbUrl="jdbc:odbc:tracuudiem"; con=DriverManager.getConnection(dbUrl); } public ResultSet GetResultSet(String tableName)throws SQLException { ResultSet rs=null; Statement stmt=con.createStatement(); String sql="select * from "+tableName; rs=stmt.executeQuery(sql); return rs; } public void Close()throws Exception{ con.close(); } public static String Masinhvienkt() { Scanner msv = new Scanner(System.in); System.out.println("Nhap ma sinh vien: "); String ma = msv.next(); return ma; } } Xây dựng class TracuudiemAgent: public class TracuudiemAgent extends Agent { //Các phương thức hành vi tác tử } 46 public class TracuudiemAgent extends Agent { protected void setup() { try { ConnectODBC_DSN conDSN=new ConnectODBC_DSN(); ResultSet rs=conDSN.GetResultSet("BANGDIEM"); while(rs.next()) { System.out.println(rs.getString("MaSinhVien")); System.out.println(rs.getString("HoTen")) System.out.println(rs.getString("NgaySinh")); System.out.println(rs.getString("DiemMon1")); System.out.println(rs.getString("DiemMon2")); System.out.println(rs.getString("DiemMon3")); } conDSN.Close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { TracuudiemAgent Tracuu = new TracuudiemAgent(); Tracuu.setup(); } Hình ảnh chương trình thực nghiệm Hình 3.3 Hình ảnh chƣơng trình thực nghiệm 47 3.3 Biên dịch tác tử Trong thư mục Tracuudiem ta tạo thư mục file sau: thư mục classes để lưu file sau biên dịch tác tử thư mục src chứa nguồn file java file compilejade.bat với nội dung : javac -classpath e:\jade\lib\jade.jar;e:\jade\lib\commons-codec\commonscodec-1.3.jar; %1 %2 %3 %4 %5 %6 %7 %8 %9 -d e:\jade\src\examples\tracuudiem file runjade.bat với nội dung : java-classpathclasses;e:\jade\lib\jade.jar;e:\jade\lib\commonscodec\commons-codec-1.3.jar jade.Boot -gui %1 %2 %3 %4 %5 %6 %7 %8 %9 Trong cmd ta gõ dịng lệnh để tìm đường dẫn đến thư mục : e:\>cd jade\src\examples\tracuudiem : e:\>compilejde src\*.java 48 3.4 Gắn tác tử với Jade Sau biên dịch tác tử ta thực gắn tác tử với JADE câu lệnh cmd : runjade Ở mục Main-Container ta kích chuột phải chọn Start New Agent Hình 3.4 Kết thao tác biên dịch tác tử Lúc hộp hội thoại sau xuất : Hình 3.5 Tìm tới tác tử vừa tạo 49 Khi ta chọn Class Name chọn Xemdiem.Tracuudiemgent : Hình 3.6 Kết thao tác tạo tác tử Ấn nút OK Trong mục Agent Name ta điền tên hình : Hình 3.7 Điền thơng tin Nhấn OK 50 Hình ảnh kết DOS : Hình 3.8 Kết chạy DOS 51 KẾT LUẬN Qua thời gian tìm hiểu tác tử phần mềm dựa tác tử, đặc biệt trình thực đồ án tốt nghiệp, em nắm rõ cách phân tích xây dựng phần mềm dựa tác tử áp dụng vào toán thực tế : Xây dựng chương trình dựa tác tử để tra cứu điểm sinh viên Những kết mà đồ án đạt có thẻ tổng kết sau: Tìm hiểu chung tác tử, hệ đa tác tử xây dựng phần mềm dựa tác tử, hướng phát triển kiến trúc phần mềm hữu ích; ứng dụng tác tử, tác tử di động với hệ thống phân tán, mở, phức tạp phát triển với lớn mạnh Internet ngày Phân tích, thiết kế, xây dựng chương trình dựa tác tử Áp dụng vào toán xây dựng chương trình dựa tác tử để tra cứu điểm sinh viên Tuy nhiên chương trình có tính chun nghiệp chưa cao,chưa giải trọn vẹn nhữngvấn đề phát sinh,chưa đạt tính thẩm mỹ cao Trong thời gian qua em giành nhiều thời gian công sức cho đồ án tốt nghiệp này, qua trình tìm hiểu lý thuyết xây dựng ứng dụng thực nghiệm em học nhiều kiến thức kinh nghiệm thực tế quý giá Ứng dụng thực nghiệm chứng minh tính khả thi việc xây dựng chương trình phần mềm dựa tác tử ứng dụng vào thực tế, tạo tiền đề cho việc xây dựng phần mềm lớn phức tạp dựa tác tử hồn tồn khả thi hữu ích Đây hướng phát triển phần mềm đầy triển vọng mang lại nhiều lợi ích tương lai 52 TÀI LIỆU THAM KHẢO [1] Fabio Luigi Bellifemine, Developing Multi-Agent Systems with JADE (Wiley Series in Agent Technology) [2] Gerhard Weiss, MultiAgent Systems, A Modern Approach to Distributed Modern Approach to Artificial Intelligence [3] Pattie maes, Communication of the ACM, Agents that Reduce Word and Information Overload [4] White, JE Telescrip Technology: Mobile Agent In Bradsshaw jeffrey, (ed), Software Agent, AAAI Press/MIT Press, 1996 [5] Rodney A Books – Subsumption Architecture [6] Michael Georgeff, Barney Pell, Martha Pollack, Milind Tambe, MichaelWooldridge, The Belief – Desries – Intention Model of Agency [7] http://fipa.org [8] http://jade.tilab.com/ ... điểm kiến trúc JADE yếu tố liên quan Chƣơng 3: Kiến trúc phần mềm dựa tác tử ứng dụng Ứng dụng thực ngiệm 7 CHƢƠNG 1: TÁC TỬ VÀ ĐA TÁC TỬ 1.1 Tác tử hệ đa tác tử 1.1.1 Giới thiệu tác tử hệ đa tác. .. trình kết hợp với tác tử để tận dụng khả tác tử đem lại Phần mềm dựa tác tử phần mềm thơng minh, bao gồm yêu cầu người dùng kết hợp với tính ưu việt tác tử Vì phần mềm dựa tác tử không đáp ứng... đạt có thẻ tổng kết sau: Tìm hiểu chung tác tử, hệ đa tác tử xây dựng phần mềm dựa tác tử, hướng phát triển kiến trúc phần mềm hữu ích; ứng dụng tác tử, tác tử di động với hệ thống phân tán, mở,