I. Tổng quan
II. Tác tử di động cho tính toán di động
III. Mở rộng UML cho tác tử di động
IV. Tác tử di động áp dụng vào các ứng dụng di 
động
V. Giải quyết các vấn đề của tính toán di động 
bằng tác tử di động
VI. Các kỹ thuật của phần mềm dựa trên tác tử
              
                                            
                                
            
 
            
                 31 trang
31 trang | 
Chia sẻ: Mr Hưng | Lượt xem: 1117 | Lượt tải: 1 
              
            Bạn đang xem trước 20 trang nội dung tài liệu Kĩ thuật lập trình - Agent và mobile agent tác tử và tác tử di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Agent & Mobile Agent 
Tác tử & tác tử di động 
Tính toán di động 
Nội dung 
I. Tổng quan 
II. Tác tử di động cho tính toán di động 
III. Mở rộng UML cho tác tử di động 
IV.Tác tử di động áp dụng vào các ứng dụng di 
động 
V. Giải quyết các vấn đề của tính toán di động 
bằng tác tử di động 
VI.Các kỹ thuật của phần mềm dựa trên tác tử 
28/09/2011 @Hà Quốc Trung 2011 2 
1. Tổng quan 
I. Cơ chế hoạt động của tác tử phần mềm 
II. Kết hợp giữa tác tử phần mềm và client-
server 
III. Phân chia các chức năng cần thực hiện 
28/09/2011 3 @Hà Quốc Trung 2011 
I. Cơ chế hoạt động của các tác tử 
phần mềm 
• Strong mobility (tính di động chặt) 
• Weak Mobility (tính di động lỏng) 
• Cơ chế hoạt động của Mobile Agent 
• Công cụ thực hiện mobile agent 
• Biểu diễn mobile agent bằng UML 
28/09/2011 @Hà Quốc Trung 2011 4 
Khái niệm tác tử di động 
• Tác tử 
– mã+dữ liệu+trạng thái 
– Tự chủ, tự kích hoạt, tự điều khiển 
– Tác tử đối tượng 
• Di động 
– Dữ liệu có thể được dịch chuyển theo mô hình clien-server, 
theo mô hình tệp, sau đó được gắn kết lại tại đích 
– Mã và trạng thái cần có cơ chế phức tạp hơn 
• Tính di động 
– Yếu: chỉ dịch chuyển mã và dữ liệu 
– Mạnh: dịch chuyển mã, dữ liệu và trạng thái 
28/09/2011 @Hà Quốc Trung 2011 5 
Cơ chế hoạt động của tác tử di 
động 
• Tác tử đến một host. Host khởi động tiến trình mới 
• Mã, dữ liệu và trạng thái được cài đặt trên host. Tác tử 
thực hiện lệnh tiếp theo 
• Tác tử kết thúc quá trình thực hiện hoặc di chuyển: kết 
thúc tiến trình hiện tại 
• Đóng gói mã, dữ liệu và trạng thái theo dạng không phụ 
thuộc vào máy 
• Host tiếp theo được xác định, thông báo được chuyển 
tới host 
• Trở lại bước đầu tiên 
28/09/2011 @Hà Quốc Trung 2011 6 
II. Mô hình lai MA và Client-Server 
• Client-server: bộ đệm chuyển dịch tương tác 
về cục bộ 
• Agent: client và server có thể dịch chuyển 
thành cục bộ 
• Tối ưu: lựa chọn cơ chế phù hợp cho từng 
trường hợp 
– Có kết nối: client-server 
– Kết nối không ổn định: MA 
– Client agent-server 
28/09/2011 @Hà Quốc Trung 2011 7 
Client-agent 
• Hoạt động như server cục bộ 
• Client chỉ tương tác với agent trên máy client 
– Hiệu năng, thời gian thực 
• Client-agent sẽ tính toán để “định cư” tại client 
hay servers 
• Client-agent thực hiện trao đổi thông tin với 
server để đảm bảo QoS 
28/09/2011 @Hà Quốc Trung 2011 8 
III. Phân tách chức năng 
• Đa tầng: Giao diện, logic, dữ liệu 
• Chia cho nhiều loại MA: UIA, UPA, PA, DA 
• Giảm kích thước của MA 
• Giảm thiểu việc MA phải dịch chuyển 
• Tăng độ mềm dẻo của MA 
• Tái sử dụng mã của MA 
28/09/2011 @Hà Quốc Trung 2011 9 
Phân tách chức năng 
• Càng nhiều MA nhỏ càng tốt? 
• Độ trễ tương tác 
• Độ trễ dịch chuyển 
• Giao diện, logics, dữ liệu 
28/09/2011 @Hà Quốc Trung 2011 10 
2. Tác tử di động cho tính toán di 
động 
• Đặc điểm của tác tử di động 
• Những điểm phù hợp với tính toán di động 
• Những điểm không phù hợp 
• Một số công cụ thường gạp 
28/09/2011 @Hà Quốc Trung 2011 11 
I. Đặc điểm của tác tử di động 
• Mã, dữ liệu và trạng thái là di động 
• Tự chủ, không đồng bộ 
– Vòng đời riêng, tự quản lý, không có ràng buộc về 
thời gian 
• Thông minh 
– Có khả năng đáp ứng trong những trường hợp 
không xác định trươcs 
• Đệ qui 
– Có khả năng sinh ra các MA con 
28/09/2011 @Hà Quốc Trung 2011 12 
Những điểm phù hợp 
• Tác tử di động luôn luôn chủ động (active) 
– Không cần đến sự kích hoạt hay lời gọi phương 
thức, . 
• Sử dụng ít băng thông hơn RPC hay ROI 
– Phụ thuộc vào ứng dụng . 
• Thời gian đáp ứng tốt 
– Cục bộ (trả giá bằng độ chính xác?) 
• Mặc định, hệ thống MA là không đồng nhất 
– Môi trường MA cung cấp tính đồng nhất 
28/09/2011 @Hà Quốc Trung 2011 13 
Những điểm phù hợp 
• Có thể hoạt động với kết nối mạng không ổn 
định 
– Do tính chất tự trị và không đồng bộ  
• Tính thích nghi cao 
– Khả năng của thiết bị, giao diện nsd, . 
– MA phục vụ giao diện có thể thay đổi thích nghi 
với tài nguyên sẵn có 
• Chú ý tác tử di động tính toán di động 
28/09/2011 @Hà Quốc Trung 2011 14 
Những điểm không phù hợp 
• Xây dựng ứng dụng MA khó khăn và phức tạp 
hơn ứng dụng client-server 
• Các môi trường thực hiện MA của các nhà 
cung cấp khác nhau hoạt động khác nhau 
– MASIF nỗ lực để thống nhất 
• Vấn đề bảo mật rất phức tạp trong môi trường 
MA 
28/09/2011 @Hà Quốc Trung 2011 15 
Khó khăn của nền tảng MA 
• Các thiết bị có cấu hình rất khác nhau 
– Khả năng (phi chức năng) của các agent khác nhau 
– Rất khó có một tập các khả năng phi chức năng cơ 
bản phù hợp cho tất cả các thiết bị 
• Tính di động mạnh: Rất khó thực hiện 
– Chỉ sử dụng tính di động yếu ? (J2ME) 
– Ràng buộc về thiết bị để đảm bảo tính di động 
mạnh (BREW) 
28/09/2011 @Hà Quốc Trung 2011 16 
Bảo mật của MA 
• Môi trường trên các máy khó hạn chế được việc 
sử dụng các tài nguyên của MA 
• Không có hạn chế việc MA khởi tạo và sử dụng 
các công cụ truyền thông 
– Nếu có vi phạm tính chất tự trị 
• Hệ thống không đồng nhất 
– Giao diện bảo mật cần được chuẩn hóa 
– Cần có các giao diện tùy biến cho các hệ thống khác 
nhau 
– Phức tạp và khó khăn cho việc chuẩn hóa 
28/09/2011 @Hà Quốc Trung 2011 17 
II. MASIF (Mobile Agent System 
Interoperability Facility) 
• Chuẩn trao đổi thông tin giữa các hệ thống 
MA 
• Chức năng 
– Quản lý các agent 
– Chuyển tải các agent 
– Tên của các Agent 
– Các dạng agent chuẩn cho các nền tảng hệ thống 
khác nhau 
– Phân giải tên 
28/09/2011 @Hà Quốc Trung 2011 18 
Một số khái niệm của MASIF 
• Agent tĩnh 
• Kiểu Agent theo hệ thống 
• Vị trí của Agent 
• Tên của Agent 
• Agent system=host 
• Kết nối giữa các Agent 
• Code Base 
•  
28/09/2011 @Hà Quốc Trung 2011 19 
Bảo mật của MASIF 
– Vấn đề: 
– DOS , xác thực, nghe trộm 
• Giải pháp: 
– Bảo mật mức mạng 
– Xác thực lẫn nhau giữa các agent 
– Xác thực và ủy quyền giữa các agent 
– Chính sách bảo mật cho agent và host 
– Xác thực khi tạo một agent ở xa 
– Kiểm tra nguồn gốc thông tin (cho kết quả và quyền 
truy cập) 
28/09/2011 @Hà Quốc Trung 2011 20 
III. FIPA (Foundation of Physical 
Agent) 
• Mô tả kiến trúc trừu tượng 
– MA, host, trao đổi thông tin giữa các MA 
• Quản lý Agent 
– Agent thực hiện các thao tác tùy ý, tuy nhiên cần có 
một tập các thao tác cơ bản – quản lý, thư mục, trao 
đổi thông tin, . 
• Đặc tả trao đổi thông báo 
• Đặc tả cấu hình agent 
• Đặc tả biểu diễn dữ liệu tầng giao vận (bit, XML) 
• Đặc tả các hỗ trợ di động 
• Đặc tả sử dụng HTTP làm tầng giao vận 
• Đặc tả sử dụng IIOP làm tầng giao vận 
28/09/2011 @Hà Quốc Trung 2011 21 
III. FIPA (Foundation of Physical 
Agent) 
• Đặc tả ứng dụng di động (“Vô gia cư”) 
– QoS, 
– Thỏa thuận về giao thức tầng giao vận 
– Hỗ trợ thích nghi các thiết bị 
• Đặc tả ACL (Act Communicative Library) 
– Đặc tả quá trình trao đổi các thông báo 
– Cấu trúc thông báo 
– Biểu diễn thông báo dưới dạng XML (DTD) 
– Biểu diễn thông báo dưới dạng xâu, bít 
– Đặc tả các dịch vụ truyền thông báo 
– Đặc tả các tương tác (Agent Interaction Protocol 
28/09/2011 @Hà Quốc Trung 2011 22 
3. Ứng dụng MA vào triển khai các 
ứng dụng di động 
• Java và MA 
– Applets, aglets, middlets 
– JADE và LEAPS 
– JINI cho MA 
• .NET 
28/09/2011 @Hà Quốc Trung 2011 23 
4. Giải quyết các vấn đề của tính 
toán di động bằng MA 
• MA và bối cảnh 
• MA và định vị 
• MA sử dụng cho giao diện 
• MA và QoS 
• MA-Proxy 
• MA giải quyết các vấn đề về hiệu năng 
• MA- Thích nghi với thiết bị 
28/09/2011 @Hà Quốc Trung 2011 24 
MA-khung cảnh 
• Tính toán nhận biết khung cảnh 
• MA xác định bối cảnh, luôn sẵn sàng 
– Có kết nối, không kết nối 
– Có tài nguyên, không tài nguyên 
• MA có thể xác định bối cảnh để gửi một MA 
khác đến 
• Mức độ sẵn sàng cao hơn 
28/09/2011 @Hà Quốc Trung 2011 25 
MA-định vị 
• MA “định cư”-gắn với một máy tính, chuyển 
đổi vị trí 
– MA có thông tin về vị trí 
– MA thể hiện ánh xạ giữa khái niệm host, hệ thống 
vật lý và vị trí vật lý 
28/09/2011 @Hà Quốc Trung 2011 26 
MA- giao diện NSD 
• Sử dụng một agent đặc tả giao diện (client), 
một tập hợp các agent khác (server-client) 
cung cấp giao diện 
– Client agent có thể thu thập các thông tin về thiết 
bị và khung cảnh 
• Sử dụng một tập các agent cho một chức năng 
của ứng dụng 
– Các chức năng khác nhau được tích hợp vào một 
UI-agent 
28/09/2011 @Hà Quốc Trung 2011 27 
MA-QoS 
• Kết nối giữa các agent trên một host là kết nối 
cục bộ 
• Có khả năng hoạt động với các trạng thái khác 
nhau của kết nối 
• Phù hợp với môi trường Adhoc 
28/09/2011 @Hà Quốc Trung 2011 28 
MA-Proxy 
• Cho các thiết bị không kết nối được với hệ 
thống MA 
• Cho các phần mềm trên thiết bị 
• Chi phí trên server cao 
28/09/2011 @Hà Quốc Trung 2011 29 
MA-hiệu năng 
• Phân tán tải tính toán 
• Các thao tác trên agent có chi phí cao-> phù 
hợp với các hệ thống có nhiều host 
• Nền tảng MA có thể không phù hợp với hạ 
tầng mạng 
• Phụ thuộc vào tập hợp các nền tảng vật lý 
28/09/2011 @Hà Quốc Trung 2011 30 
MA-Thích nghi thiết bị 
• MA thực hiện trên thiết bị: có các thông tin về 
thiết bị 
• Giảm độ phức tạp của hệ thống (phần thích 
nghi được giao cho MA) 
• Giảm băng thông cần thiết 
28/09/2011 @Hà Quốc Trung 2011 31 
            Các file đính kèm theo tài liệu này:
 03_mobile_agent_5236.pdf 03_mobile_agent_5236.pdf