Kiến trúc phần mềm dựa trên agent

40 628 1
Kiến trúc phần mềm dựa trên agent

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu tham khảo công nghệ thông tin Kiến trúc phần mềm dựa trên agent

ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆLê Thị Hồng HạnhKIẾN TRÚC PHẦN MỀM DỰA TRÊN AGENTKHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tinHÀ NỘI – 2010 §Trang 2 ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆLê Thị Hồng HạnhKIẾN TRÚC PHẦN MỀM DỰA TRÊN AGENTKHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tinCán bộ hướng dẫn: PGS.TS. Nguyễn Việt HàHÀ NỘI – 2010 LỜI CẢM ƠNLời đầu tiên em muốn gửi cảm ơn chân thành và sâu sắc tới thầy giáo, Phó Giáo Sư, Tiến sĩ Nguyễn Việt Hà – Phó Hiệu trưởng trường Đại học Công Nghệ, người thầy đã giúp em định hướng, có những kinh nghiệm quý báu về công nghệ Agent, thầy đã tận tình giúp đỡ em hoàn thành khóa luận.Em xin gửi lời cảm ơn đến thầy giáo, Thạc sĩ Đào Kiến Quốc đã giúp em hoàn thiện và hiểu rõ các khái niệm, cách phân tích chương trình để hoàn thiện khóa luận này.Em cũng muốn gửi lời cảm ơn tới các thầy, cô giáo đã chỉ bảo trong suốt quá trình học tập tại trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội. Cảm ơn bạn Tạ Minh Tú, chị Nguyễn Thị Thu Hiền, những người đã cùng giúp đỡ, hợp tác nghiên cứu các bài toán, ứng dụng được trình bày trong khóa luận tốt nghiệp này. Ngoài ra, em muốn gửi lời cảm ơn đến các thầy giáo, cô giáo trong bộ môn Công nghệ phần mềm, khoa Công nghệ thông tin, Trường Đại học Công nghệ, đã tạo điều kiện thuận lợi cho em trong quá trình học tập chuyên ngành và thực hiện khóa luận .Cuối cùng con muốn cảm ơn đến cha mẹ, tới gia đình và bạn bè với tình yêu thương sâu sắc – những người đã hết sức ủng hộ, giúp đỡ và động viên con trong suốt quá trình học tập đã qua. Hà nội, ngày 18/05/2010 Sinh viên: Lê Thị Hồng HạnhTrang 2 TÓM TẮTHiện nay, khi Internet trở nên phổ biến và cần thiết, các hệ thống mở, phân tán đang được phát triển rộng rãi và hữu ích theo cùng. Hướng phát triển các hệ thống này chủ yếu được sử dụng theo mô hình Client –Server, mọi tính toán, yêu cầu được chuyển lên và thực hiện ở Server bên ngoài Internet. Điều này đòi hỏi một băng thông Internet lớn với chi phí cao. Có các hướng giải quyết để phân tải mạng trên Server như phân tải mạng bằng các Server khác hay sử dụng Proxy Cache để lưu các kết quả tính toán, yêu cầu đã được thực hiện. Khóa luận này sẽ giới thiệu một hướng phân tải mạng cho Server bằng cách sử dụng Proxy động được xây dựng dựa trên lý thuyết, các kiến thức về kiến trúc xây dựng phần mềm dựa trên Agent – một hướng nghiên cứu phát triển phần mềm mới được xem là tiếp theo của phương pháp hướng đối tượng. Trong mô hình này, các tính toán, yêu cầu được đóng gói thành các Agent, sau đó được chuyển xuống Proxy, lưu giữ và thực thiện các tính toán. Các agent này có thể di chuyển, cập nhật cơ sở dữ liệu từ Server, lưu giữ các tính toán, thực hiện các tính toán này ngay trên Proxy khi có yêu cầu gửi đến nhằm giảm thiểu việc truy cập lên Server, cơ sở dữ liệu, và phân tải mạng cho Server. Bên cạnh đó, sử dụng Proxy động sẽ làm việc thực hiện các tính toán một cách nhanh chóng hơn do các tính toán ở gần và cơ sở dữ liệu được lưu trữ sẵn trên Proxy, do đó tốc độ truyền dẫn thông tin và các tính toán đã được lưu trữ sẽ tối ưu hơn so với khi Client yêu cầu tính toán nếu được gửi và thực hiện trên Server theo mô hình truyền thống.Trang 3 MỤC LỤC LỜI CẢM ƠN . 2 TÓM TẮT . 3 MỤC LỤC 4 Chương 1. GIỚI THIỆU . 6 1.1 Tổng quan kiến trúc phần mềm dựa trên Agent 6 1.2 Bài toán xây dựng mô hình phân tải mạng nhờ Proxy động dựa trên Agent 6 1.3 Nội dung và cấu trúc khóa luận 7 Chương 2. TỔNG QUAN VỀ AGENT 9 2.1 Agent phần mềm 9 2.1.1 Khái niệm Agent phần mềm . 9 2.1.2 Kiến trúc tổng thể . 10 2.2 FIPA (Foundation for Intelligent, Physical Agents) 10 2.2.1 Lịch sử FIPA 11 2.2.2 Truyền thông Agent (Agent Communication) 11 2.2.3 Quản lý Agent (Agent Management) 11 2.3 Nền tảng JADE 12 2.3.1 Khái niệm về JADE . 12 2.3.2 Mô hình nền tảng JADE . 13 2.3.3 Biên dịch và chạy trên nền tảng JADE . 14 2.3.4 Dịch vụ di động liên nền (Inter - Platform) . 19 20 2.3.5 Jade Gateway . 20 2.4 Tổng quan về Mobile Agent 21 2.4.1 Khái niệm về mobile Agent 21 2.4.2 Cấu trúc của Mobile Agent . 22 2.4.3 Ứng dụng của Mobile Agent 22 Trang 4 Chương 3. MÔ HÌNH PROXY ĐỘNG DỰA TRÊN AGENT 24 3.1 Giới thiệu chung về bài toán 24 3.2 Ý tưởng xây dựng mô hình 25 3.3 Giải pháp . 25 3.4 Phân tích mô hình 26 3.4.1 Mô hình chung . 26 3.4.2 Mô hình Client . 27 3.4.3 Mô hình Server 27 3.4.4 Mô hình Proxy . 28 3.5 Tổng kết 30 Chương 4. THỰC NGHIỆM 31 4.1 Mô tả chương trình 31 4.2 Thiết kế ứng dụng 32 4.3 Cài đặt và thực nghiệm 34 4.3.1 Cài đặt 34 4.3.2 Thực nghiệm 34 Chương 5. KẾT LUẬN 36 TÀI LIỆU THAM KHẢO . 37 Trang 5 Chương 1.GIỚI THIỆU1.1 Tổng quan kiến trúc phần mềm dựa trên AgentTrong những năm gần đây, sự phát triển mạnh mẽ của các công nghệ truyền thông và Internet đã ảnh hưởng sâu rộng đến nhiều mặt của cuộc sống từ kinh tế, khoa học đến văn hóa xã hội. Cùng với sự phát triển lớn mạnh, không ngừng của Internet, đòi hỏi việc chia sẻ và tích hợp thông tin qua đường truyền giữa các máy với nhau, để sử dụng cơ sở dữ liệu chia sẻ ngày càng nên phổ biến. Điều này dẫn đến nhiều thách thức với người phát triển phần mềm khi phải đối đầu với những yêu cầu về hệ phần mềm phức tạp, mở và phân tán. Chúng ta đã được biết các cách phát triển phần mềm dựa trên cách cách tiếp cận hướng cấu trúc, cách tiếp cận hướng đối tượng. Phương pháp hướng đối tượng có ưu điểm so với phương pháp hướng cấu trúc là khả năng sử dụng lại mã nguồn, dễ đọc mã nguồn và xử lý lỗi. Đối với cách tiếp cận hướng đối tượng, hệ thống phần mềm được xem như tập các thực thể tương tác gọi là “đối tượng”, trong đó mỗi đối tượng được xác định bởi 3 yếu tố: Định danh, trạng thái, và hành vi. Với cách tiếp cận hướng đối tượng, phần mềm được xây dựng dựa trên khái niệm đối tượng, các phương thức, quan hệ giữa các đối tượng . hướng giải quyết này có vẻ không đáp ứng được với các hệ phần mềm mở, phân tán, phức tạp như là quản lý mạng viễn thông, thương mại điện tử, tìm kiếm trích lọc thông tin .Là một hướng phát triển tiếp theo của phương pháp hướng đối tượng, cách tiếp cận hướng agent được xem là một công nghệ hứa hẹn cho phát triển của các hệ phần mềm phức tạp này. Ý tưởng cơ bản của hệ Phần mềm Agent là xem hệ phần mềm như một cấu trúc xã hội bao gồm các agent có tính tự chủ về hành vi, về trạng thái, có khả năng phản ứng nhận biết được môi trường, chủ động trong hành động và phản ứng, và chúng có khả năng tương tác với nhau để đạt tới một mục đích chung của hệ thống. Phần trình bày về lý thuyết Agent sẽ làm rõ hơn các khái niệm và có cái nhìn tổng quan hơn về agent, cũng như sử dụng agent trong việc xây dựng phần mềm.1.2 Bài toán xây dựng mô hình phân tải mạng nhờ Proxy động dựa trên AgentHiện nay, các ứng dụng hệ thống phân tán, mở, phúc tạp thường được xây dựng dựa trên mô hình Client – Server [16]. Trong mô hình này, các dịch vụ trong ứng dụng bao gồm mã cài đặt dịch vụ và các tài nguyên để thực thi dịch vụ. Khi có các yêu cầu từ Trang 6 Client, các mã dịch vụ sẽ được thực thi trên tài nguyên dịch vụ và kết quả trả về cho Client. Tuy nhiên với lượng các yêu cầu tính toán gửi lên cho Server lớn thì vấn đề đường truyền mạng là một là một thách thức. Mô hình Client –Proxy –Server là một hướng giải quyết của vấn đề này. Bài toán được đưa ra từ ý tưởng giảm tải mạng cho cho Server nhờ Proxy động dựa trên các kiến thức về Agent, mobile Agent. Ở đây các tính toán sẽ được đóng gói thành các Agent được chuyển từ Server xuống Proxy khi được yêu cầu. Proxy sẽ lưu các tính toán này và trả về một cách nhanh chóng khi có yêu cầu. Nền tảng được lựa chọn để phát triển hệ thống này là JADE (Java Agent Develop Framework), nền tảng phát triển trên nền java, cung cấp cho người lập trình một nền tảng để tạo ra các Agent thực hiện các tính toán, di chuyển, truyền thông với nhau.1.3 Nội dung và cấu trúc khóa luậnVới nội dung trình bày những lý thuyết cơ bản về công nghệ Agent, xây dựng mô hình phân tải mạng ở Server nhờ Proxy động dựa trên công nghệ Agent và cách áp dụng vào bài toán thực tế - phân tải mạng cho chương trình tìm kiếm thông tin sinh viên ở các trường Đại học. Khóa luận được tổ chức theo cấu trúc như sau:Chương 1: Giới thiệuGiới thiệu sơ lược về tổng quan kiến thức về công nghệ Agent, lý thuyết Agent và các kiến thức xây dựng phần mềm dựa trên Agent. Bài toán xây dựng mô hình phân tải mạng nhờ Proxy động được phân tích dưới khía cạnh sử dụng Agent đóng gói, đại diện cho các tính toán là một hướng giải quyết khả thi cho việc giải quyết bài toán phân tải mạng. Chương này giới thiệu những gì mà khóa luận nghiên cứu, từ đó thông qua việc trình bày về nội dung và cấu trúc của khóa luận.Chương 2: Tổng quan về AgentChương hai đi vào giới thiệu một cách tổng quan nhất về Agent. Cấu trúc và hoạt động của Agent, hệ đa Agent, mobile Agent, chuẩn FIPA, nền tảng JADE. Với những kiến thức cơ bản này, người đọc sẽ hiểu được phần nào cấu trúc, hoạt động cũng như những ưu nhược điểm của Phần mềm Agent từ đó có thể xây dựng, phân tích thiết kế được mô hình phù hợp với từng bài toán.Chương 3: Mô hình phân tải mạng bằng Proxy động dựa trên AgentChương này giới thiệu hiện trạng của việc phân tải mạng cho Server, nêu ra hướng giải quyết sử dụng Proxy động được xây dựng dựa trên ý tưởng đóng gói các tính toán Trang 7 bằng Agent. Xây dựng mô hình Client – Proxy- Server, phân tích các mô hình Client, mô hình Proxy, mô hình Server. Qua đó xây dựng mô hình xử lý bài toán và thiết kế chi tiết cho mô hình giảm tải mạng.Chương 4: Thực nghiệmTrình bày thực nghiệm được phân tích ở chương 3, mô tả các bước thiết kế, cài đặt, kết quả thực nghiệm của chương trình quản lý đào tạo của trường đại học trong đó vấn đề tìm kiếm thông tin sinh viên là các tính toán được thực hiện thường xuyên từ phía Client lên Server sẽ được đóng gói thành các Agent thực thi có thể di chuyển xuống Proxy để giúp cho việc phân tải mạng. Chương 5: Kết luậnChương này tổng kết lại những gì đã đạt được và chưa đạt được. Từ đó nêu lên những kết quả hướng tới, hướng nghiên cứu và phát triển tiếp theo. Trang 8 [...]... QUAN VỀ AGENT 2.1 Agent phần mềm Chương này sẽ trình bày khái niệm Agent phần mềm [1] [2] [3](Software Agent) , cấu tạo và đặc tính của nó cũng như các khái niệm liên quan như đặc tả FIPA[1] [4] của Agent, nền tảng thực thi JADE [1][5][6], và tìm hiểu về Agent di động (Mobile Agent) [7] 2.1.1 Khái niệm Agent phần mềm Trong những năm gần đây, hướng tìm hiểu, nghiên cứu các ứng dụng của Agent phần mềm phát... xếp gộp [8], cho đến các kiến trúc phức tạp hơn như là kiến trúc dựa trên sự tin tưởng vào mục đích (BDI-Belief Desire Intention) [9] Kiến trúc phân lớp, tổng hợp giữa hai kiểu kiến trúc trên, bao gồm cả phản ứng hành động và các điểm mạnh của cả hai phương pháp trên Kiến trúc của Agent có thể được chia thành bốn nhóm chính: Nền tảng Logic, phản ứng hành động, BDI, và kiến trúc phân lớp 2.2 FIPA (Foundation... là 2 agent đặc biệt: • AMS Agent: Hệ thống quản lý Agent (Agent Management system), một agent giám sát toàn bộ platform Nó là nơi để các agent đăng ký bao gồm các dịch vụ như đặt tên, xác định tính duy nhất của tên agent, quản lý vòng đời các agent • DF Agent: dịch vụ trang vàng trong JADE, nơi các agent đăng ký dịch vụ của mình, ở đó một agent có thể tìm kiếm các agent khác có các dịch vụ mà agent. .. trên các thành phần tự chủ, nó hỗ trợ các hành động tác động lên thế giới thực, các môi trường mở và động Trên thực tế, kết quả ban đầu của Agent tính toán nhằm vào việc phát triển kiến trúc các Agent thông minh, và những năm đầu tồn tại các kiểu thiết kế kiến trúc khác nhau, từ các kiến trúc đơn giản về phản ứng hành động, điều khiển trong một mô hình kích thích – trả lời, như là kiến trúc xếp gộp [8],... chiếu quản lý Agent được mô tả theo hình: Hình 2.1 Quản lý Agent Các thành phần của mô hình sẽ được giải thích chi tiết hơn trong phần trình bày tiếp theo về nền tảng của Agent 2.3 Nền tảng JADE Phần này sẽ giới thiệu một cách tổng quan của nền tảng JADE [11][12] (Java Agent DEvelopment Framework platfom) và các lý thuyết cơ bản về thành phần kiến trúc của nó 2.3.1 Khái niệm về JADE JADE (Java Agent DEvelopment... phát triển phần mềm dựa trên Agent như trong dịch vụ du lịch, người sử dụng thường có nhiều yêu cầu khác nhau cho các gói du lịch của mình như vé máy bay, vé tàu, chỗ ở Do đó, thành phần phần mềm thay mặt người sử dụng cần phải tương tác, thương lượng với nhiều dịch vụ khác một cách tự động và sau đó tích hợp kết quả gửi lại cho người sử dụng Mỗi thành phần như thế được hình dung là một Agent Các đặc... thân agent sẽ chủ động trong việc khởi động và thực hiện chuỗi hành động này • Tính xã hội (Social ability): các agent không chỉ hướng tới mục đích riêng cuản nó mà còn có khả năng tương tác với các agent khác trong hệ thống để hướng tới mục đích chung của hệ thống Các hoạt động tương tác này bao gồm phối hợp, cạnh tranh, thương lượng 2.1.2 Kiến trúc tổng thể Kiến trúc Agent là một cơ chể cơ bản dựa trên. .. sẵn, hỗ trợ giao tiếp của các agent trên những nền tảng giống hoặc khác nhau - Có giao diện đồ họa người dùng để quản lý các agent từ cùng - Có sẵn tại http://jade.cselt.it/ 2.3.2 Mô hình nền tảng JADE Hình 2.2 Mô hình nền tảng JADE Hình trên mô tả kiến trúc của nền tảng JADE Nó là 1 hệ kiến trúc phân tán bao gồm: • Nhiều máy • Nhiều tiến trình • Nhiều các Agent Container Các Agent Container được hiểu... thiết kế và xây dựng các ứng dụng phân tán Có rất nhiều tranh luận về khái niệm Agent phần mềm, tuy là các cách diễn đạt khác nhau nhưng ở góc độ người dùng, có thể hiểu Agent phần mềm là: Agent phần mềm là một chương trình có thể thực hiện công việc thay cho người dùng một cách độc lập sau khi được giao công việc Các agent cần có môi trường để thi hành trong suốt thời gian tồn tại của chúng, chúng... lạc phối hợp hoạt động của agent với các agent trong cùng môi trường hay khác môi trường 2.4.2 Cấu trúc của Mobile Agent Một Mobile Agent gồm có 3 phần: mã, trạng thái và dữ liệu Mã là phần sẽ được thực thi khi nó di chuyển tới một nền tảng Trạng thái là môi trường thực thi dữ liệu của agent, bao gồm chương trình đếm và ngăn xếp thực thi Phần này chỉ được tìm thấy trong Agent sử dụng di chuyển mạnh . động được xây dựng dựa trên lý thuyết, các kiến thức về kiến trúc xây dựng phần mềm dựa trên Agent – một hướng nghiên cứu phát triển phần mềm mới được xem. trúc như sau:Chương 1: Giới thiệuGiới thiệu sơ lược về tổng quan kiến thức về công nghệ Agent, lý thuyết Agent và các kiến thức xây dựng phần mềm dựa trên

Ngày đăng: 23/11/2012, 15:03

Hình ảnh liên quan

cho việc khởi tạo, đăng ký, xác định vị trí, di trú và tổ chức các Agent. Mô hình tham chiếu quản lý Agent được mô tả theo hình: - Kiến trúc phần mềm dựa trên agent

cho.

việc khởi tạo, đăng ký, xác định vị trí, di trú và tổ chức các Agent. Mô hình tham chiếu quản lý Agent được mô tả theo hình: Xem tại trang 14 của tài liệu.
2.3.2 Mô hình nền tảng JADE - Kiến trúc phần mềm dựa trên agent

2.3.2.

Mô hình nền tảng JADE Xem tại trang 15 của tài liệu.
Hình 2.3. Mối quan hệ các thành phần trong JADE - Kiến trúc phần mềm dựa trên agent

Hình 2.3..

Mối quan hệ các thành phần trong JADE Xem tại trang 16 của tài liệu.
Hình 2.4. Cấu trúc thư mục Jade - Kiến trúc phần mềm dựa trên agent

Hình 2.4..

Cấu trúc thư mục Jade Xem tại trang 17 của tài liệu.
Hình 2.6. Màn hình đồ họa khởi động Jade - Kiến trúc phần mềm dựa trên agent

Hình 2.6..

Màn hình đồ họa khởi động Jade Xem tại trang 21 của tài liệu.
2.3.4 Dịch vụ di động liên nền (Inter - Platform) - Kiến trúc phần mềm dựa trên agent

2.3.4.

Dịch vụ di động liên nền (Inter - Platform) Xem tại trang 21 của tài liệu.
Hình 2.8. Di chuyển liên nền của Agent. - Kiến trúc phần mềm dựa trên agent

Hình 2.8..

Di chuyển liên nền của Agent Xem tại trang 22 của tài liệu.
Hình 2.6. Mô hình JADE Gateway - Kiến trúc phần mềm dựa trên agent

Hình 2.6..

Mô hình JADE Gateway Xem tại trang 23 của tài liệu.
Hình 2.7. Cấu trúc Mobile Agent - Kiến trúc phần mềm dựa trên agent

Hình 2.7..

Cấu trúc Mobile Agent Xem tại trang 24 của tài liệu.
Chương 3.MÔ HÌNH PROXY ĐỘNG DỰA TRÊN AGENT - Kiến trúc phần mềm dựa trên agent

h.

ương 3.MÔ HÌNH PROXY ĐỘNG DỰA TRÊN AGENT Xem tại trang 26 của tài liệu.
3.4 Phân tích mô hình 3.4.1 Mô hình chung - Kiến trúc phần mềm dựa trên agent

3.4.

Phân tích mô hình 3.4.1 Mô hình chung Xem tại trang 28 của tài liệu.
Hình 3.3. Mô hình giải pháp Proxy động chi tiết - Kiến trúc phần mềm dựa trên agent

Hình 3.3..

Mô hình giải pháp Proxy động chi tiết Xem tại trang 29 của tài liệu.
Hình 3.4. Mô hình giao tiếp Server - Kiến trúc phần mềm dựa trên agent

Hình 3.4..

Mô hình giao tiếp Server Xem tại trang 30 của tài liệu.
Hình 3.5. Mô hình giao tiếp Proxy - Kiến trúc phần mềm dựa trên agent

Hình 3.5..

Mô hình giao tiếp Proxy Xem tại trang 31 của tài liệu.
Hình 4.1. Sơ đồ khối chương trình tìm kiếm thông tin - Kiến trúc phần mềm dựa trên agent

Hình 4.1..

Sơ đồ khối chương trình tìm kiếm thông tin Xem tại trang 35 của tài liệu.
• Cấu hình máy Proxy: Core 2 dual 2.2GHz, RAM 2G, hệ điều hành Window XP. - Kiến trúc phần mềm dựa trên agent

u.

hình máy Proxy: Core 2 dual 2.2GHz, RAM 2G, hệ điều hành Window XP Xem tại trang 37 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan