Tác tử phần mềm (Software Agent)

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng (Trang 31)

CHƢƠNG 2 TÁC TỬ PHẦN MỀM VÀ MÁY CHỦ PROXY

2.2. Tác tử phần mềm (Software Agent)

2.2.1. Khái niệm

Sẽ thật không dễ dàng khi đi tìm một khái niệm chính xác cho tác tử (Agent), bởi nó là một khái niệm vô cùng rộng lớn, bao hàm nhiều vấn đề.

Để có thể hiểu rõ hơn về tác tử, ở đây ta nên thu hẹp phạm vi của tác tử, đó là tác tử phần mềm: “Đó là một thực thể phần mềm, hoạt động theo sự uỷ quyền của các tác tử khác, của người điều khiển, hỗ trợ con người và tác động đến những

hành vi của họ. Nó có khả nǎng tự động, thực hiện tiên đoán, phản ứng và một số khả nǎng như tự học, tự di chuyển, hoạt động theo kiểu cộng tác”. Ta có thể coi đây là một mô hình tác tử cơ sở [4].

Thuâ ̣t ngữ Agent là mô ̣t thuâ ̣t ngữ trừu tượng trong công nghê ̣ phần mềm, đó là mô ̣t ý tưởng , mô ̣t khái niê ̣m , mô ̣t thuâ ̣t ngữ như kiểu OOP (Object – Oriented Programming: Lâ ̣p trình hướng đối tượng ) bao gồm phương thức (methods), hàm (functions) và đối tượng (Objects). Đi ̣nh nghĩa về Agent cho ta mô ̣t cách nhìn nhâ ̣n thuâ ̣n tiê ̣n và ma ̣nh mẽ về thực thể phần mềm phức ta ̣p với đầy đủ các ứng xử với hê ̣ thống. Nếu như các đối tượng được đă ̣c trưng bằng các phương thức và thuô ̣c tính thì Agent lại được đặc trưng bằng các cư xử của nó với môi trường.

Có 2 lớp Agent chính: tĩnh (static) và di động (mobile). Sự khác nhau giữa hai lớp này là:

Tác tử tĩnh (Static agent): thực thi trên hệ thống nơi nó bắt đầu sự thực thi

[4][9]. Một static agent thu được các thông tin từ hệ thống khác bằng cách sử dụng các cơ chế truyền thông có sẵn như Remote procedure call (RPC- gọi thủ tục từ xa). Điều này khác với một quy trình tĩnh (static processes) trong một hệ thống mà trong đó mã của static agent được tải về từ mạng theo yêu cầu, ngược lại các quy trình tĩnh có mã riêng được lưu trữ cục bộ trong hệ thống.

Tác tử di động (Mobile agent): có thể ngừng hoạt động của nó trong khi nó

đang chạy trên một hệ thống, có thể di chuyển sang một hệ thống khác, và có thể tiếp tục thực thi từ điểm ngưng.

Agent có những đă ̣c trưng quan tro ̣ng là : tính tự chủ , tính phản xạ , tính chủ đô ̣ng và tính cô ̣ng đồng.

2.2.2. Các loại Agent

Các loại Ag ent đươ ̣c phân chia bằng đă ̣c trưng của nó và có thể chia làm các loại Agent sau.

a. Tác tử thông minh (Intelligent Agents)

Các nghiên cứa về Agent thông minh là một phần trong các nghiên cứu về Agent nhân ta ̣o. Các khả năng của một Agent thông minh như sau:

trên các tâ ̣p các phương thức giải quyết vấn để hay các giải thuâ ̣t . Nó có thể bao gồm các khía ca ̣nh khác của Agent như khả năng phu ̣c hồi các xử lý hay khả năng lưu trữ các tài nguyên

 Khả năng học: đó là khả năng cảm về các ứng xử và khả năng tự sản sinh ra các cư xử khác từ cư xử đã có của đối tượng.

Từ khái niê ̣m trên người ta còn quan tâm đến khái niê ̣m Intelligent Interface Agent, đó là khái niê ̣m về tính tác tử trong giao diê ̣n của người dùng , là khả năng tâ ̣n du ̣ng tối đa khả năng của các giao diê ̣n với người sử du ̣ng , điều này làm nảy sinh mô ̣t số câu hỏi liên quan đến vấn đề này như là : vấn đề nào trong giao tiếp của người sử du ̣ng cần được quan tâm nhất ? Các giao tiếp của người sử dụng tham chiếu đến các vấn đề nào?

b. Tác tử tự chủ (Autonomous Agent)

Agent tự chủ là các Agent có khả năng tự tồn ta ̣i đô ̣c lâ ̣p , có khả năng ra quyết đinh đô ̣c lâ ̣p , khả năng thực hiện các hành động thỏa mãn mục tiêu của chính nó theo những cảm nhâ ̣n được từ môi trường. Tất cả các phần mềm agent đểu được con người xây dựng nhằm mu ̣c tiêu giám sát các hành đô ̣ng và hoàn thiê ̣n khả năng ứng xử cua nó , đồng thời cũng có khả năng cho nó dừng hành đô ̣ng trong trường hơ ̣p cần thiết.

c. Agent phân tán (Distributed agents)

Đây là các Agent có khả năng hoa ̣t đô ̣ng trong nhiều môi trường xử lý khác nhau, có khả năng chia sẻ tính toán , có khả năng được triển khai trong hệ thống phân phối và tự linh đô ̣ng.

d. Tác tử di động (Mobile Agents)

Tác tử di động là một thực thể phần mềm tồn tại trong môi trường phần mềm . Nó thừa hưởng một số đặc tính của một tác tử. Mô ̣t Tác tử di động bao gồm các mô hình sau: mô hình tác tử (agent model), mô hình vòng đời (life-cycle model), mô hình tính toán (computational model), mô hình bảo mật (security model), mô hình truyền thông (communication model) và mô hình điều hướng (navigation model). Trong đi ̣nh nghĩa về tác tử di động, chúng ta cần quan tâm đến môi trường phầ n mềm mà tác tử di động đó tồn ta ̣i.

Môi trường tác tử di động được đi ̣nh nghĩa là mô ̣t hê ̣ thống phần mềm được phân phối trong mô ̣t mạng máy tính . Trong môi trường đó , tác tử di dộng được

triển khai với đầy đủ các thuô ̣c tính của nó. Nó có thể bao gồm các chương trình tương thích, các cơ chế truy nhập, lưu trữ tài nguyên.

2.2.3. Khả năng ứng dụng của tác tử

Các tác tử phần mềm (Software agents) được sử dụng trong nhiều lĩnh vực khác nhau trong viễn thông. La Porta [17] đề cao tính năng của hai dịch vụ truyền thông điệp hai chiều và các dịch vụ truyền thông cá nhân (Personal Communication services (PCS)) bằng cách tận dụng các tác tử tĩnh (static agents) và các tác tử di động (mobile agents) theo thứ tự định sẵn.

 Bằng cách sử dụng một static agent như một cổng vào ra (gateway) giữa các trang nhớ (pager), kiến trúc của các pager có thể vẫn đơn giản trong khi thu được các khả năng truyền thông điệp song công đầy đủ (full-duplex).

 Các mobile agents được sử dụng trong các hệ thống PCS (hệ thống dịch vụ

truyền thông cá nhân) để duy trì trạng thái của người dùng hiện tại, như thiết bị của người dùng và hiện trạng dịch vụ của nó. Khi một người dùng cuối chuyển từ một cell đến một cell khác, vì agent là di động nên nó có thể tự động theo người dùng đến cell mới và vẫn duy trì được trạng thái của người dùng.

Các agents cũng được sử dụng trong việc quản trị mạng. Phương thức này làm giảm không những lưu lượng mạng, mà còn giảm tải điện toán trên hệ thống quản lý, vì các tính toán cần thiết được phân phối giữa các phần tử mạng. Phương thức thứ hai là việc sử dụng các mobile agent, trong đó hệ thống quản trị gửi một mobile agent đến mỗi phần tử mạng, khi trở về hệ thống quản trị, mobile agent sẽ báo cáo kết quả.

Như có thể thấy từ những ví dụ trên, software agents, ở cả hai dạng là tĩnh

di động, có thể được sử dụng thành công trong các lĩnh vực viễn thông khác nhau.

Do đó, hoàn toàn có khả năng kết nối các tính năng proxy với các tác tử phần mềm (software agents)

Trên thực tế, tác tử và các hệ tác tử còn có khả năng ứng dụng thành công trong rất nhiều lĩnh vực khác nhau. Vác ứng dụng này rất phong phú về cả số lượng, chất lượng cũng như rất đa dạng về chủng loại: Từ các hoạt động quản lý sản xuất đến việc xử lý thông tin, sự xuất hiện của tác tử và các hệ tác tử đã làm cho việc quản lý, xử lý thông tin dễ dàng hơn, và đạt được nhiều kết quả khả quan hơn. Dưới đây chúng ta sẽ xem xét những ứng dụng tiêu biểu thể hiện sự ưu điểm của giái pháp sử

a. Ứng dụng trong quản lý sản xuất

Quá trình sản xuất được đặc trưng bởi nhiều tham số thay đổi như dạng và số lượng sản phẩm, giới hạn thời gian, khả năng của máy móc… thể hiện công việc thực tế và các điều kiện thực tế của xưởng sản xuất. Để đồng bộ và quản lý quá trình phức tạp như vậy, hệ thống quản lý được xây dựng dưới dạng một hệ các tác tử cộng tác. Mỗi xưởng và mỗi thành phần của xưởng được biểu diễn bởi một tác tử. Từng tác tử có kế hoạch và khả năng của mình tương ứng với kế hoạch và khả năng của từng thành phần riêng biệt trong phân xưởng. Các tác tử tương tác với nhau giống như mối quan hệ giữa các cá thể trong phân xưởng, do đó phản ánh được thực tế hoạt động của các cá thể trong xưởng sản xuất. Từ các tác tử mức trên, công việc được phân chia xuống các tác tử mức dưới và xuống tới từng vị trí công việc tùy thuộc vào khả năng. Kết quả thực hiện được báo cáo lại cho tác tử mức trên để theo dõi và điều chỉnh phù hợp. Điều này diễn ra giống như mô hình quản lý thực tế của các xưởng sản xuất, do đó từ mô hình này ta có thể xem xét, dự đoán hoạt động sản xuất của xưởng. Ngoài ra, công nghệ tác tử còn được sử dụng trong việc lập kế hoạch sản xuất, hỗ trợ thiết kế sản phẩm, quản lý robot trong công nghiệp.

b. Ứng dụng trong quản lý luồng công việc

Nhiệm vụ của hệ thống quản lý quá trình và luồng công việc là đảm bảo các phần việc khác nhau của một quá trình được thực hiện bởi các nhân viên và bộ phận thích hợp vào thời gian cần thiết. Trong giải pháp sử dụng tác tử, mỗi nhân viên hay một bộ phận trong quá trình làm việc tương ứng với một tác tử, các tác tử sẽ thương lượng với nhau về các điều kiện, khả năng, yêu cầu của chúng, phản ứng với môi trường để hoàn thành công việc của mình. Từ đó xây dựng được một hệ thống quản lý luồng công việc thích hợp nhất, tối ưu nhất để áp dụng trong thực tế.

c. Tác tử thu thập và quản lý thông tin

Do lượng thông tin dư thừa trên Internet là rất lớn và ngày càng tăng lên, nên người sử dụng thông tin gặp khó khăn trong hai vấn đề sau:

 Vấn đề lọc thông tin: Hàng ngày người sử dụng nhận được một lượng thông tin lớn từ Internet dưới dạng các tin nhắn, email, các báo điện tử. Trong đó chỉ có một phần nhỏ các thông tin là có giá trị và cần được quan tâm, còn lại phần lớn trong số đó là những thông tin thừa, vô giá trị và đôi khi còn là những thông tin gây “nhiễu”. Việc xác định xem đâu là những thông tin có

giá trị, cần được quan tâm mất rất nhiều thời gian và công sức, đôi khi lại đưa ra những kết quả không như ý muốn.

 Vấn đề thu thập thông tin: Mặc dù mạng Internet chứa một lượng thông tin khổng lồ nhưng không phải lúc nào chúng ta cũng có thể tìm được những thông tin mà chúng ta mong muốn. Khi có nhu cầu về thông tin cụ thể, người sử dụng khó tìm thấy thông tin mà họ quan tâm do lượng thông tin trên mạng là quá lớn.

Tác tử thông tin là loại tác tử được xây dựng để giải quyết hai vấn đề trên. Một ví dụ điển hình là hệ thống Tác tử quản lý hộp thư cá nhân, chứa các tác tử có nhiệm vụ lọc và phân loại thư điện tử. Tác tử này có khả năng thực hiện các thao tác gán giá trị ưu tiên, xóa, chuyển tiếp thư, sắp xếp và lưu trữ thư điện tử. Trong giai đoạn đầu, tác tử ghi lại hành động của người sử dụng và thông tin về thư như người gửi, người nhận, tiêu đề thư và từ khóa. Những thông tin này sau đó được sử dụng để dự đoán hành động khi có thư mới tới. Nếu hành động được dự đoán với độ chính xác cao thì tác tử sẽ gợi ý cho người sự dụng hoặc tự động thi hành luôn.

d. Tác tử giao diện

Thông thường trong tương tác giữa người và máy tính, giao diện đóng vai trò thụ động và chỉ phản xạ khi có yêu cầu từ người dùng. Một chương trình chỉ thực hiện khi người sử dụng gõ một lệnh, chọn một mục, hay nhấp chuột vào menu tương ứng. Tác tử giao diện cho phép thay đổi phương pháp giao tiếp này bằng cách làm cho máy tính trở nên chủ động. Căn cứ vào hành động của người sử dụng, tác tử giao diện có thể chủ động thực hiện một số thao tác hay đưa ra những gợi ý.

e. Ứng dụng tác tử và trí tuệ phân tán

Trong tự động hóa công nghiệp cũng như trong nhiều lĩnh vực ứng dụng điều khiển và giám sát khác như các hệ thống giao thông vận tải, các hệ thống phân phối năng lượng và các hệ thống viễn thông, xu hướng điều khiển phân tán đã trở thành tất yếu. Các hệ thống cần được điều khiển ngày càng có qui mô lớn và mức độ phức tạp hơn, rất nhiều hệ thống thể hiện tính bất định và mô hình thay đổi, đòi hỏi phải có sự phân chia thành các hệ thống con để có thể dễ làm chủ. Các hệ thống con này có một nhiệm vụ riêng và phải có sự hợp tác với nhau trong việc giải quyết nhiệm vụ chung của toàn hệ thống. Vì thế, kiến trúc phần mềm điều khiển và giám sát trong hệ thống cũng phải có tính chất như vậy, có nghĩa là phải được phân tán thành các thành phần mềm tương đối độc lập nhưng có khả năng hợp tác cho một

thay thế con người trong điều khiển hệ thống với các thông số luôn biến động. Yêu cầu đó dẫn đến phải xây dựng được một phần mềm có tính tự động điều khiển, thích nghi với sự biến động của môi trường hoạt động, và có khả năng tương tác với nhau. Việc ứng dụng trí tuệ nhân tạo phân tán là một trong những hướng nghiên cứu mới, hứa hẹn nhiều kết quả khả quan. Trong nhiều năm gần đây, tác tử (agent) và đa tác tử (multi-agent) được coi là các công nghệ trọng tâm của trí tuệ nhân tạo phân tán, thu hút được sự quan tâm của đông đảo giới nghiên cứu trong lĩnh vực công nghệ thông tin. Việc ứng dụng công nghệ tác tử vào các hệ thống trí tuệ nhân tạo đã thu được nhiều kết quả to lớn.

2.2.4. Đánh giá một số Framework hỗ trợ Agents

Các hệ thống được lựa chọn để khảo sát ở đây bao gồm Aglets, Voyager, Mole, Zeus và JADE. Cả năm môi trường này đều sử dụng Java để hỗ trợ phát triển ứng dụng, nhưng mỗi hệ thống có những đặc thù riêng. Trong phần này, luận văn đưa ra đánh giá tổng quan về Aglets, Voyager, Mole và Zeus dựa trên những tìm hiểu sơ bộ về chúng. Phần giới thiệu về JADE sẽ được trình bày ở chương 5.

a. Aglets

Aglets được xây dựng và phát triển bởi D.B.Lange và IBM Tokyo Research Laboratory. Hiện nay, bộ Aglets Software Development Kit (ASDK) do IBM phát triển đã dừng lại ở phiên bản 1.1 Beta3 trên nền JDK1.1. Phiên bản mới nhất của ASDK là 2.0.2 do SourceForge phát triển trên nền JDK1.3. Aglets là một hệ thống Java mobile agent hỗ trợ các khái niệm thi hành tự trị và định tuyến động trên lộ trình của nó. Có thể xem aglets như là một khái quát hóa và mở rộng của applet và servlet. Aglet server là chương trình cung cấp một môi trường thực thi và một máy ảo Java cho aglet hoạt động. Ngoài ra, Aglet server cũng sử dụng một trình quản lý để tiếp nhận và kiểm soát aglet một cách an toàn.

Aglet API là bộ thư viện bao gồm các hàm chuyên biệt dành cho việc phát triển agent. Nhờ vào Aglet API, khả năng nổi tiếng của Java là “viết một lần, thi hành bất cứ đâu” được viết lại là “viết một lần, lưu hành bất cứ đâu”. Một khi aglets được tạo ra, nó sẽ chạy trên mọi máy có hỗ trợ Aglet API mà không quan tâm đến nguồn gốc hệ điều hành và phần cứng bên dưới hay nguồn gốc cụ thể của Aglet API được cài trên máy đang chạy.

Trong mô hình đối tượng aglets, một aglets là một đối tượng di động có luồng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng (Trang 31)

Tải bản đầy đủ (PDF)

(86 trang)