Đăng ký Đăng nhập
Trang chủ Phân tích thiết kế dịch vụ truyền thông trong hệ thống agent di động...

Tài liệu Phân tích thiết kế dịch vụ truyền thông trong hệ thống agent di động

.PDF
67
6
76

Mô tả:

Đ Ạ I H Ọ C Q U Ố C G IA H À N Ộ I KHOA CÔNG NGHỆ LÊ TRƯỜNG THIÊN P H Â N T ÍC H T H IẾ T K Ê D ỊC H v ụ T R Ư Y Ể N t h ô n g TRO NG HỆ THỐNG AG ENT DI ĐỘNG Chuyên ngành: Mã số: Công nghệ Thông tin 01.01.10 LUẬN V À N THẠC s ĩ NGƯỜI HƯỚNG DẪN KHOA HỌC: l . T S ĐO ÀN V Ă N BAN Hà nội - 2003 2 CHƯƠNG IV. T R IỂ N K H A I.............................................................................32 IV .l. M ẫu thiết k ế ............. . ................. . . . . . . . .32 IV.1.1. Proxy P a tte rn .................................................................................. 33 IV. 1.2. Remote P ro x y ...................................................................................35 IV .1.3. Visitor P a tte rn ................................................................................. 36 IV.2. Ngôn ngữ lập tr ìn h .............................................................................37 IV.3. Kiên trú c hệ thống..............................................................................39 IV.3.1. Registry A gent................................................................................. 41 IV.3.2. Đ ảng ký bằng hợp đồng (contractual reg istratio n ).................42 IV.4. Tương tác giữa các A g e n t................................................................. 46 IV.4.1. Jav a Remote M ethod Invocation................................................. 46 IV.4.2. Mobile O bject. . . .............. .... ...... ........... ........... IV.4.3. Tương tác thông qua các biểu hiện (p erfo rm ativ e).................49 IV.4.4. O ntology.......... .................................................................................53 IV.5. D uyệt lại yêu c ầ u ................................................................................ 61 K Ế T L U Ậ N ............................................................................................................ 63 T À I L IỆ U t h a m k h ả o ................................................................................ .66 Luận văn tốt nghiệp cao học ........... ........ 3 MỎ ĐẦU Hiện nay, thời đại thông tin điện tử đang thay đổi đáng kể. Trong nhiều năm qua, môi trường liên mạng ngày càng phát triển như Internet khiến cho thông tin điện tử ngày càng phong phú và đa dạng. Trước đây, thông tin trên máy tính chủ yếu ở dạng văn bản, nhưng nay những thông tin đó đã tồn tại ở nhiều dạng khác nhau: đổ hoạ hai chiều, đồ hoạ ba chiều, âm thanh, hình ảnh... Khái niệm về không gian thông tin đa phương tiện toàn cầu bắt đầu phổ biến. Tuy nhiên, để có thể sử dụng khối lượng thông tin lớn đó một cách hiệu quả, một số vấn đề cơ bản cần đặt ra cho người sử dụng là: thông tin sẽ được tổ chức và quản ỉý như thế nào và do đó việc duyệt và tìm kiếm trên những thông tin đó được thực hiện như thế nào? [8]. Khi ngày càng nhiều tổ chức, người sử dụng tham gia vào liên mạng thì khối lượng thông tin này sẽ ngày càng lớn. Tuy nhiên, số lượng thông tin sẽ tăng lên theo m ột cách không cấu trúc và không dự đoán được, do đó người sử dụng sẽ gặp nhiều khó khăn trong việc duyệt, tìm kiếm và quản lý thông tin cần thiết. Những công nghệ hiện thời chỉ tập trung vào lĩnh vực tìm kiếm thông tin đơn thuần, và thông tin cần nằm Ưong một lĩnh vực cụ thể chẳng hạn dụng cụ tìm kiếm cho World Wide Web. Và những công nghệ này sẽ gặp nhiều khó khăn nếu thông tin là phân tán vì phải luôn luôn trực tuyến, kết hợp nhiều nguồn thông tin khác nhau... Công nghệ agent ra đời giải quyết hoặc hứa hẹn giải quyết được nhiều vấn đề trong đó có những vấn đề trên: vấn đề băng thông trong m ôi trường khách/chủ, kết nối mạng không tin cậy hoặc giúp người dùng lựa chọn được những thông tin đúng đắn dựa trên tri thức và kinh nghiệm. Bên cạnh đó, công nghệ A eent còn là một bước tiến triển mạnh của phương pháp lập trình hướng L uận văn tốỉ nqhiệp cao học 4 đối tượng, chuẩn bị cho sự xuất hiện của một quan điểm lập trình mới hơn, gần gũi hơn nữa với sự suy nghĩ của con người - Phương pháp lập trình hướng Agent. Luận văn "Phân tích thiết k ế dịch vụ truyền thông trong hệ thống Agent di động" với mục đích nghiên cứu về công nghệ agent, hy vọng sẽ góp phần nhỏ trong quá trình nghiên cứu phát triển công nghệ Agent ở Việt nam nói riêng và trên thế giới nói chung. Luận văn được chia thành 4 chương: - Chương 1: Giới thiệu các khái niệm cơ sở và mối quan hệ giữa agent với phần mềm như thế nào. Chương này phân biệt một số nhận thức về Agent đang được sử dụng bởi những người dùng khác nhau. - Chương 2, 3: mô tả về một số đặc điểm của Agent di động, kiến trúc của một hệ Agent dì động dựa trên quan điểm hướng Agent. Chương này phân loại một số Agent có các nhiệm vụ khác nhau cùng hoạt động trong một cấu trúc, các Agent tương tác với nhau như thế nào để giải quyết những vấn đề phức tạp hơn. - Chương 4: phân tích một số cơ chế cần thiết trong việc xây dựng hệ thống Agent di dộng bằng ƯML và ngôn ngữ lập trình Java, tập trung chủ yếu thiết kế dịch vụ truyền thông trong hệ thống, nhờ đó các Agent có thể thực hiện truyền thông với nhau. L uận văn tốt nghiệp cuo học 5 CHƯƠNG I. GIỐI THIỆU VỂ AGENT 1.1. Agent là gì ? D o các cồng việc Agent (tác tử) có thể thực hiện cũng như nhận thức chung của người dùng về Agent rất khác nhau, việc đưa ra một diễn tả hoàn chỉnh về một Agent là tương đối khó. Tuy nhiên, theo nghĩa rộng nhất, tất cả các kịch bản sau đây được quy về cổng việc của một Agent (Wooldridge et al., 1995) [12]: - Khi người dùng đăng nhập hệ thống máy tính, người dùng sẽ được chào đón bởi chương trình trợ giúp cá nhân kỹ thuật số (PDA - Personal Digital Assitant). PDA sẽ đưa ra một tổng kết về các hoạt động xảy ra từ lần cuối cùng bạn đàng nhập hệ thống. PDA đã sắp xếp các thư điện tử của người dùng theo thứ tự dựa trên tính quan trọng đồng thời thêm các lời chỉ dẫn tham khảo tới các íhư điệnt tử có liên quan. Một thư điện tử từ người giám sát, người giám sát muốn có một cuộc họp để bàn về công việc của người dùng, PDA tự động kiểm tra lịch làm việc của người dùng và đã đàm phán về ngày giờ thích hợp cho cuộc họp với PDA của người giám sát. Ngoài ra, PDA cũng đã tự động tìm kiếm các nhóm tin và đưa ra các tin tức phù hợp với nhu cầu của người dùng, hướng sự chú ý của người đùng tới các công việc có liên quan. - Trong khi người dùng đang soạn thảo một tệp, PDA nhận thấy có một thư điện tử đến. Thư điện tử này thông báo rằng bài báo của người dùng đã được chấp nhận tại một hội thảo nào đó. Không cần hỏi, PDA của người dùng tự động sắp xếp và lên k ế hoạch cho việc đi dự hội thảo. Trong một khoảng thời gian ngắn, PDA sẽ đưa ra một số các lựa chọn thuận tiện nhất cho người dùng. Khi người dùng đã chọn một lựa chọn nào đó, PDA sẽ thay mật người dùng thực hiện kế hoạch tương ứng với Luận vàn tốt nghiệp cao học 6 đàm phán với PDA của người giám sát hội thảo đó về dữ liệu cần thiết của người dùng). Khi người dùng đang đi đến hội thảo, PDA truyền dữ liệu cần thiết tới nơi tổ chức hội thảo, thông báo cho PDA của người giám sát hội thảo. Mặc dù một số công nghệ để hỗ trợ cho các hệ thống máy tính phức tạp như trên là chưa tồn tại, nhưng các hướng nghiên cứu đang tập trung vào các vấn đề này. Tuy nhiên, trong các kịch bản trên thì thành phần máy tính chính được gọi là Agent. Ở mức độ cơ sở và khái niệm, Agent có thể được coi là thực thể có thể thực hiện các công việc thay cho con người. Chẳng hạn, chúng ta sẽ đến các đại lý du lịch và đặt chỗ cho kỳ nghỉ của chúng ta, đại lý du lịch sẽ thay mặt chúng ta thực hiện các công việc như: tổ chức chi tiết về chuyên bay, đặt phòng ở khách sạn và lo các thủ tục bảo hiểm. Chúng ta thấy phiền toái, mệt mỏi khi tự làm m ọi thủ tục trên, nên chúng ta uỷ thác trách nhiệm đó cho một đại lý mà ta biết họ có thể thực hiện các công việc đó. Tương tự trong lĩnh vực phần mềm, một Agent là một phần mềm nào đó có khả năng thực hiện công việc thay cho người sử dụng. Tuy nhiên có một vài giả thiết đang được đặt ra. Trong thế giới thực, chúng ta tin tưởng vào đại lý du lịch giúp ta đặt chuyến bay, đồng thời chúng ta cũng tin rằng đại lý đu lịch đó sẽ đặt chuyến bay đúng ngày. Nói một cách khác, chúng ta không chỉ uỷ thác niềm tin vào khả nãng hoàn thành công việc của đại lý du lịch mà còn tin rằng họ sẽ thực hiện công việc một cách đúng đắn. Như vậy, tính hữu dụng của Agent liên quan trực tiếp đến khả năng đáng tin cậy mà Agent sinh ra, và điều này có thể quan trọng hơn chính công việc mà Agent có khả năng thực hiện. Các Agent thực hiện các công việc một cách tồi tệ sẽ không được sử dụng nhiều, vì chúng ta có thể sử dụng dịch vụ của các Agent khác hoặc tự chúng ta thực hiện việc đó. Luận văn tốt nghiệp cao học 7 tệ sẽ không được sử dụng nhiều, vì chúng ta có thể sử dụng dịch vụ của các Agent khác hoặc tự chúng ta thực hiện việc đó. 1.2. Khái niệm vế Agency A gency (tác sở) liên quan đến các khái niệm và thuộc tính mà nhờ chúng ta có thể xác định được bản chất và hành vi của Agent. Thông thường, người dùng sẽ tin tưởng và sử dụng Agent có bản chất hoàn chỉnh và hành vi có thể kiểm soát được. Wooldridge và Jenings [12] đưa ra hai khái niệm về agency khi mô tả bản chất và hành vi của agency: Agent yếu (weak agent) và Agent mạnh (strong agent) Ị.2.1. A g e n t y ế u Một Agent được gọi là Agent yếu (weak agent) nếu có những đặc tính sau: - Tính tự trị: sau khi được khởi tạo, Agent có khả năng hoạt động độc lập vói người dùng. Tự Agent phải kiểm soát được mọi hành vi của mình, Agent phải tự quyết định hành động tiếp theo là gì khi một hành động thành công hay thất bại. Hơn nữa, Agent phải có khả năng cập nhật trạng thái bên trong, và dựa vào trạng thái đó đưa ra những quyết định hợp lý. - Khả năng giao tiếp: để có thể thay đổi hoặc truy vấn môi trường hoạt động, một Agent phải có khả năng tương tác với thế giới bên ngoài (Genesereth, M ayfield - 1994), Tuỳ thuộc vào vấn đề Agent cần giải quyết mà sự tương tác này tồn tại ở nhiều mức khác nhau, điển hình là tương tác giữa các Agent, giữa Agent với môi trường hoạt động và Agent với người dùng. - Khả năng phản ứng: Agent cần có khả năng quan sát môi trường hoạt động và có những phản ứng kịp thời khi mồi trường thay đổi dựa trên vấn đề cần giải quyết. Chẳng hạn, một Agent có thể giám sát hệ thống L uận văn tố t nghiệp cao học 8 truy vấn hệ thống tệp như thế nào. Agent phải nhận thức được về môi trường hoạt động cũng như trạng thái và những thay đổi trong môi trường để có những phản ứng thích hợp. - Tính chủ động: Agent cần đánh giá trạng thái của môi trường hoạt động và quyết định thực hiện mục đích như thế nào cho tốt nhất. 1.2.2. A g e n t m ạnh Agent mạnh có thêm những thuộc tính liên quan về trí tuệ nhân tạo như: tri thức, sự tin tưởng (belief), ý định (intention) và nghĩa vụ (obligation) (theo Shoham, 1993). Những Agent như vậy có thể được coi là một hệ thống có chủ ý (intentional system ) (Dennett, 1987). Một hệ thống có chủ ý được mô tả bởi những quan điểm về chủ ý: nghĩa là mô tả hoạt động của hệ thống bằng cách gán những khái niệm trừu tượng cho hệ thống đó. Một số thuộc tính khác của Agent Agent (cả Agent yếu và mạnh) có một số thuộc tính khác như: - Tính chuyển động: Agent có khả năng di chuyển giữa các mạng để thực hiên công việc. - Tính hợp lý: giả thiết rằng Agent sẽ không hoạt động theo những cách thức có thể cản trở mục đích của chúng. Và giả thiết rằng Agent luôn luôn cố gắng để hoàn thành mục đích của mình. - Tính chính xác: Agent không truyền những thông tin sai một cách có chủ ý. - Tính không xung đột: Agent không mang những mục đích xung đột nhau. L uận văn tốt nghiệp cao học 9 1.3. Một số loạỉ Agent Ị.3.1. A g e n t tru yền th ốn g Khái niệm truyền thống về Agent bắt nguồn từ trí tuệ nhân tạo. Quan điểm truyền thống coi Agent là một hệ thống: đầu vào là dữ liệu về môi trường hoạt động, hệ thống thực hiện những suy diễn trên dữ liệu đó và đưa ra những kết qủa. Mục đích của cùng của Agent trí tuệ nhân tạo là cung cấp trí tuệ và khả năng suy luận giống như con người. Tuy nhiên, do những khó khăn trong việc thu thập và mô tả chất lượng của trí tuệ, Agent được coi như một phương tiện thể hiện những đặc tính mong muốn của trí tuệ nhân tạo. Kiến trúc trí tuệ nhân tạo truyền thống dựa trên những triết ỉý sau: - Tính tượng trưng: thu nhỏ thế giới về các biểu tượng mà ta có thể nhận thức được. Các biểu tượng đó có thể kết hợp với nhau tạo nên những cấu trúc, nhờ đó các quá trình có thể được thực hiện để điều khiển các biểu tượng theo những tập lệnh có sẵn. Những quyết định về hành động cần thực hiện được thực hiện theo suy luân logic dựa trên những phương pháp như đối sánh mẫu, thao tác ký hiệu... - Tính phản ứng lại (reactive): Vấn đề chính của kiến trúc trên là năng lực xử lý cần thiết để phân tích thông tin về thế giới thực, lập những giải pháp phù hợp và thực hiện những hành động được chọn. Vấn đề này làm tiền đề cho sự ra đời của một kiến trúc mới - kiến trúc phản ứng lại. Kiến trúc này không biểu diễn thế giới thực bằng những ký hiệu, do đó không cần đến những phép suy luận dựa trên ký hiệu. Kiến trúc này phân cấp những hành vi dùng để thực hiện công việc. Các hành vi cạnh tranh lẫn nhau để chi phối đến hành động của Agent. ở cấp thấp là những hành vi nguyên thuỷ, ở cấp cao hơn là những hành vi trừu tượng. Luận văn tốt nghiệp cuo học 1 0 - K ế t h ợ p h a i k i ế n t r ú c t r ê n . 1.3.2. A g e n tg ìa o diện Agent giao diện trợ giúp người dùng trong bất kỳ công việc gì (Maes, 1994): có thể là cung cấp những hiểu biết trong nhữnh trường hợp cụ thể hoặc cung cấp những tư ỉiệu thay thế cho một lĩnh vực nào đó. Ị.3.3, A g en t th ô n g tin Agent thông tin là Agent có thể truy cập một số tài nguyên thông tin và có khả năng thu thập và xử lý những thông tin đó. Agent này có thể thực hiện truyền thông qua mạng máy tính để định vị những tài nguyên thông tin. Chất lượng của một Agent thông tin được đánh giá thông qua khả năng giao tiếp với một phạm vi tài nguyên thông tin rộng, khối lượng thông tin được xử lý để có thể cung cấp kết quả chính xác cho người dùng. L3.4. A g en tp h â n tán Agent phân tán thường được gọi là hệ thống đa Agent (multi-agent system). Trong hệ thống này vấn đề cần giải quyết thường được chia thành các vấn đề nhỏ, mỗi vấn đề nhỏ được giải quyết bởi các Agent, sự hợp tác giữa các Agent sẽ giải quyết được vấn đề đặt ra. Luận văn tốt nghiệp cao học 11 CHƯƠNG II. HỆ THỐNG AGENT DI ĐỘNG I ■ ll.l.M ô hình Agent di động Agent di động là lớp các Agent có khả năng nổi bật là di chuyển giữa các nút trong một mạne hoặc trong nhiều mạng khác nhau. Agent di động ỉà sự mở rộng trực tiếp của mô hình khách/chủ. Trong mỏ hình khách/chủ, các thực thể giao tiếp với nhau đều có các vai trò rõ ràng và cố định, máy chủ cung cấp một số dịch vụ và máy khách sử dụng các địch vụ đó. Trong m ô hình này, máy khách phụ thuộc chặt chẽ vào các máy chủ cung cấp các dịch vụ nó cần. Cơ chế giao tiếp giữa máy khách và máy chủ thông qua các giao thức truyền thông điệp. Tuy nhiên, cơ chế giao tiếp này đòi hỏi người lập trình phải xác định được các địa chỉ mạng và các điểm đổng bộ [8], Hệ thống RPC của Sun M icrosystems đã cố gắng loại bỏ những gánh nặng này cho người lập trình. Với hệ thống này, máy khách có thể yêu cầu những địch vụ của máy chủ được thực hiện trên phía máy chủ giống như việc thực hiện trên phía máy khách. Trong hệ thống này, vị trí của máy chủ, sự khởi tạo các dịch vụ và việc truyền các kết quả trả vể là trong suốt đối với máy khách. Mô hình Agent di động có khả năng giải quyết được các vấn đề nói trên. Những đặc điểm điển hình của Agent di động là khả năne di chuyển được, tính tự trị trong hành động, trao đổi điểm điểm (peer to peer) và có khả năng xử lý độc lập với mạng và vị trí ban đầu. Tính chuyển động là một đặc điểm mong muốn của Agent vì một số lý do sau: - Hiệu quả: nếu một Agent có khả năng di chuyển trong mạng tới vị trí của tài nguyên thì, mật độ truyền thông của mạng máy tính sẽ được giảm đáng kể vì các Agent có thể tiẻn xử lý dữ liệu, xác định dữ liệu L uận văn tố t nghiệp cao học 1 2 nào là quan trọng nhất. Và điều này sẽ càng quan trọng hơn đối với các người dùng sử dụng đường truyền với bàng thông thấp. - Tính bền bỉ (persistence): khi một nút mạng tạo ra một Agent thì Agent đó không nên bị phụ thuộc vào nút đó, và Agent không nên bị ảnh hưởng nếu nút đó hỏng. Khái niệm Agent di chuyển giữa các nút mạng có nghĩa là Agent có khả năng sống sót và sử dụng các tài nguyên tới mức tối đa. Điều này là rất có ích đối với những người dùng máy tính di động: họ có thể truy cập vào mạng, sinh ra một Agent hoạt động trong mạng, thoát khỏi mạng và kiểm tra kết quả sau một khoảng thời gian nào đó. - Trao đổi điểm-điểm (peer to peer communication): nhược điểm của mô hình khách/chủ là các máy chủ khồng có khả năng giao tiếp. Những Agent đi động được xem là các thực thể cùng cấp và như vậy chúng có thể chấp nhận bất cứ vai trò nào thích hợp cho nhu cầu hiện tại của chúng, Chằng hạn, khi một Agent di động đang truy cập vào tài nguyên, nó đóng vai trò khách. Tuy nhiên, khi một Agenl di động khác đang truy vấn nó thì nó thành vai trò máy chủ. - Sự dung thứ lỗi (fault tolerance): thông thường trong mối quan hệ khách/chủ, trạng thái của giao dịch được phân đều trên máy khách và máy chủ. Trong khi thực hiện yêu cầu, mạng hoặc máy chủ có thể bị hỏng và khi đó việc phục hồi và đồng bộ lại với máy chủ là rất khó khăn đối với máy khách. Ngược lại, các Agent di động không cần thiết duy trì kết nối trong suốt giao địch, trạng thái được tập trung tại bản thân các Agent, do đó sẽ dễ dàng hơn cho việc xử lý và phục hồi dữ liệu khi gặp lỗi. L uận văn tốt nghiệp cao học 13 II.2.ĐỢC điểm của Agent di động ỊỊ.2.1. S ự d i ch u yển Tính chuyển động là đặc điểm cho phép Agent di chuyển giữa các nút mạng, nhưng sự di chuyển là chức năng kiểm soát tính chuyển động được thực hiện như thế nào. v ề cơ bản, Agent di động là sự thực hiện các tiến trình, tuy nhiên nhân tố quan trọng để phân biệt Agent di động với các tiến trình thông thường là không phải tất cả các lệnh của tiến trình đều được thực hiện ưên cùng một nút mạng. Và như vậy, vì Agent di động khác với các tiến trình thông thường nên sự đi chuyển của chúng cũng khác so với sự di chuyển của các tiến trình thông thường: chúng khác nhau về chủ thể quyết định trong việc xác định không gian và thời gian di chuyển. Đ ối với các tiến trinh thông thường, một tiến trình của hệ thống sẽ điều khiển sự di chuyển của các tiến trình khác vì một số lý do như vị trí tài nguyên, cân bằng tải trọng... Thao tác điều khiển này tương đối phức tạp. Đối với Agent di động, thì chính Agent là chủ thể quyết định trong việc thời gian di chuyển, và hệ thống phải hỗ trợ và có khả nãng thực hiện yêu cầu này [4]. Agent đi chuyển giữa các nút mạng theo hai cách: - Hướng trạng thái (state-oriented): Agent có thể di chuyển tại bất cứ bước nào trong quá trình thực hiện của chúng thông qua các lệnh di chuyển như: go, ju m p , m ove. Khi các lệnh này được gọi, trạng thái hiện tại của Agent được đóng gói và truyền tới một nút khác trong mạng. Tại nút này, quá trình thực hiện của Agent được tiếp tục tại bước mà chúng đã di chuyển. Việc khôi phục lại trạng thái của Agent tại nút đích có thể được thực hiện bởi bản thân Agent hoặc bởi hệ thống. - Không có trạng thái: Agent có thể di chuyển tại bất cứ bước nào trong quá trình thực hiện nhưng trạng thái của chúng lại bắt đầu lại từ đầu. L uận vân tốt nghiệp cao học 14 Đ iều này có nghĩa là trước khi Agent chuẩn bị di chuyển, các thông tin về trạng thái của chúng được lưu vào một bộ lưu trữ hoặc một cơ sở tri thức. Bộ lưu trữ dữ liệu hoặc cơ sở tri thức này được bao gói và gửi đi cùng với Agent. Tại nút đích, nếu cần thiết thì Agent phải tự khôi phục lại trạng thái của mình từ bộ lưu trữ dữ liệu này. Những hệ thống này có khả năng di chuyển dễ dàng nhưng việc tạo ra các Agent là tương đối khó khăn VI việc tạo Agent gắn liền với thao tác lưu giữ/khôi phục trạne thái. ỊỊ.2.2. S ự th u th ập d ữ liệu Agent di động thu thập các thông tin cần thiết từ môi trường cục bộ để thực hiện mục đích của mình. Những thông tin này cần phải được lọc bởi các Agent trước khi chúng được lưu hoặc gửi đi tiếp cùng với các Agent. Do đó những hệ thống Agent di động cần phải có khả năng đánh giá các tài nguyên mà chúng cần. H.2.3. X á c địn h đường đ i Có 3 phương pháp để xác định đường đi cho các Agent [9]: - X ác định trước (predetermination): đường đi của Agent được xác định ngay khi Agent được sinh ra. Phương pháp này thích hợp trong các trường hợp các hành động của Agent cần được kiểm soát, thứ tự các nút mà Agent thăm là quan trọng. - X ác định động (dynamic determinaiton): Agent được tự do di chuyển giữa các nút mạng. Việc lựa chọn nút mạng tiếp theo để di chuyển có thể được thực hiên một cách ngẫu nhiên, hay có thể dựa trên cơ sở tri thức về các nút mạng mà bản thân Agent có hoặc là các thông tin thư được từ các Agent khác. Phương pháp này phù hợp với các Agent khai phá dữ liệu (data mining agent). L uận văn tố t nghiệp cao học 15 - Xác định hỗn hợp (hybrid determination): kết hợp hai phương pháp trên. Các nút đích của Agent đã được định nghĩa nhưng Agent vẫn có khả năng quyết định xem các địch vụ và tài nguyên của một nút khác nào đó trong mạng là có thích hợp với mục đích của mình hay không. Hay nói một cách khác là Agent chứa một tập các tiêu chuẩn dùng để xác định xem một nút mạng là có phù hợp với mục đích của mình hay không. Phương pháp này thường được sử dụng trong các trường hợp khi mà tốc độ trả về của các dữ liệu ỉà quan trong hơn so với độ phức tạp của dữ liệu được xử lý. ỊỊ.2.4. Vấn đ ề tru yền th ôn g Khả năng các Agent có thể giao tiếp được với nhau là nền tảng của một hệ thống Agent di động. Các Agent giao tiếp với nhau theo hai phương thức: - Hướng mạng (Network oriented): các Agent giao tiếp thông qua các cơ ch ế dựa trên mạng máy tính như phương pháp truyền thồng điệp. Với phương pháp này các thực thể tham gia giao tiếp không nhất thiết phải trên cùng một mạng. - Hướng nút (Node oriented): các Agent giao tiếp thống qua cơ chể truyền thông cục bộ giữa các tiến trình, chẳng hạn thồng qua tệp, chia xẻ bộ nhớ...Với phương pháp này, các Agent phải ở trên cùng một mạng. Ngoài ra, truyển thông có thể thực hiện theo hai cách: - Đ ồng bộ: các Agent phải sắp xếp thời gian cho việc truyền thông, và các Agent phải thực hiện đồng bộ với nhau trước khi dữ liệu được truyền. Phương pháp này thường được sử dụng khi truyền những dữ liệu quan trọng, cần được xác nhận. Luận văn tốt nghiệp cao học 16 - Không cần đồng bộ: các Agent có thể giao tiếp với nhau bất cứ lúc nào. Dữ liệu sẽ được nhận khi các Agent kiểm tra nó. Phương pháp này thường được dùng khi trao đổi các dữ liệu mang tính chất thông tin. Agent di động có thể truyền thông với nhiều thực thể khác nhau: - Môi trường cục bộ: Agent di động thường được hạn chế chỉ giao tiếp với môi trường cục bộ để tránh những vấn đề thường gặp trong mở hình khách/chủ khi truyền dữ liệu. Agent đi động phải di chuyển qua các môi trường khác nhau để truy cập dữ liệu. Tuy nhiên trong một số trường hợp, Agent di động phải truyền thông với môi trường từ xa, chẳng hạn khi xác định xem một môi trường nào đó có chứa một tài nguyên hay một dịch vụ cần thiết hay không? Xác định vị trí của một Agent khác, gửi trả kết quả về cho nút gốc. - Các Agent khác: trong một vài trường hợp việc truyền thông giữa các Agent là rất quan trọng: các Agent có thể chia xẻ thông tin vê các nút mạng, các Agent có thể chia xẻ các cơ sở tri thức mà chúng có hoặc hợp tác để thực hiện một công việc nào đó. - Người sử dụng: đôi khi Agent cần phải truyển những kết quả thu được vể cho người dùng đã sinh ra Agent. Thổng thường, Agent di động thường ghi lại những dữ liệu của chúng bằng một Agent khác hoạt động trên nút mạng của người dùng (người sở hữu Agent). Trong hầu hết các hành động tìm kiếm tài nguyên, công việc ghi lại này được thực hiện bởi một Agent khác, Agent này thu thập, sắp xếp thông tin và tổ chức thông tin theo những khuôn dạng phù hợp với người dùng. Luận văn tốt nghiệp cưo học 1 7 11.3. Một số hệ thống Agent di động H.3.1. A g e n t TCL Hệ thống Agent TCL là một mô hình hỗ trợ các Agent di động, đang được phát triển tại Khoa Khoa học Máy tính, trường đại học Darthmouth. Kiến trúc của Agent TCL dựa trên mô hình máy chủ và ngôn ngữ TCL (Tool Command Language). Kiến trúc bao gồm bốn lớp: (hình vẽ) Mobile Agents Interpreter^ • k• Interpreter^ Server or Engine TCP/IP ■• * EMail Hình 2.1 : Kiến trúc hê Agent TCL Các Agent tĩnh và động trong hệ thống đều cung cấp các dịch vụ. Agent được viết bởi các ngôn ngữ thông dịch như TCL hoặc Java. Tác giả chỉ ra rằng những Agent viết bởi ngôn ngữ biên dịch như c sẽ hạn chế khả năng di chuyển của Agent. Tại m ỗi nút trong hệ thống Agent TCL có một máy chủ chịu trách nhiệm quản lý các Agent cục bộ và các Agent đến từ nút khác. Máy chủ cung cấp cơ chế Luận ván tốt nghiệp cao học V- u > /lè 'ẽ 18 an ninh, không gian tên có phân cấp nhờ đó các Agent có thể được tham chiếu và các Agent có thể xác định lẫn nhau trong môi trường cục bộ. Agent di chuyển giữa các nút trong hệ thống theo cách thức hướng trạng thái (thực hiện lộnh agent_jum p). Lệnh này đóng gói trạng thái của Agent và truyền Agent tới nút đích, tại đó máy chủ sẽ khởi động lại Agent tại lệnh sau câu lệnh a g e n t _ jump. Việc truyền Agent có thể dựa trên TCP/IP. Việc thực hiện các Agent được xử lý thông qua các bộ thông dịch [8]. II.3.2. TACOMA TACOM A (Tromoso And COmelI Moving Agents) là một dự án liên kết giữa đại học Tromoso và đại học Cornell nhằm cung cấp một hệ điều hành hỗ trợ cho Agent. TACOM A coi Agent (hoặc là tĩnh hoặc di động) là thành phần tính toán trong hê thống. Như vậy» Agent đi động hoạt động theo phương thức không trạng thái và mỗi Agent có ba cơ chế lưu trữ: folder (kẹp tài liệu), filing cabinet (tủ đựng hồ sơ), briefcase (cặp đựng tài liệu). Folder là đơn vị dữ liệu cơ sở, được truy cập bởi một Agent. Folder có thể được lưu trong các Filing Cabinet là các kho dữ liệu tĩnh hoặc lưu trong các Briefcase là các dữ liệu sẽ được đem đi cùng với các Agent. Khi Agent di chuyển giữa các nút, trạng thái được lưu trong folder DATA, mã chương trình cho Agent được lưu trong folder CODE, cả hai folder này được lưu trong cùng một briefcase tương ứng của một Agent đó. Tại nút đích, mã chương trình của Agent được lấy ra từ folder CODE để thực hiện, trạng thái được khôi phục từ folder DATA [8]. Luận văn tốt nẹhiệp cao học 19 ế Hình 2.2: Kiến trúc hệ TACOMA II.3.3. T eỉescrip t Telescript là một sản phẩm thương mại được phát triển bởi General Magic Incorporated để hỗ trợ cho Agent di động trong môi trường thương mại điện tử. Telescript là một ngôn ngữ ỉập trình hướng đối tượng cung cấp lệnh cơ bản giúp Agent có thể di chuyển theo phương thức hướng trạng thái: go. Tại mỗi nút trong hộ thống Telescript tồn tại một chương trình chủ (engine) tiếp nhận và xử lý các Agent, khởi động lại các Agent sau lệnh go. Agent có thể di chuyển giữa các địa điểm (place) là các vùng logic có liên quan bên trong các engine. Một engine có thể hỗ trợ nhiều địa điểm (place), và bản thân engine có một địa điểm (engine place). Các địa điểm engine tồn tại trong một vùng (region), là các điểm kết nối trong một mạng Telescript. Luận văn tố t nghiệp cao học 20 Khi di chuyển tối một địa điểm (place), engine sẽ thực hiện xác minh Agent và có thể cấp quyển cho Agent truy cập vào địa điểm đó hoặc không cho Agent truy cập vào địa điểm đó. [8] Luận vân tốt nghiệp cao học
- Xem thêm -

Tài liệu liên quan