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 |
Chia sẻ: Mr Hưng | Lượt xem: 919 | 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