- Quá trình phân tích moving agent theo UM L:
2.3.2 Mô hình agentplace
Agent Place là một thành phần đầy đủ và hoàn tất được cài đặt và chạy nền trên các máy trong framework. Nó bao gồm nhiều components quản lý như sau :
♦Agent service :
+ Agent service cung cấp kiến trúc bên dưới cho phép agent có thể di chuyển đến nơi khác và làm nhiệm vụ nhận các agent từ các agent place khác trong framework. Agent service trừu tượng hóa giao diện mạng làm cho người lập trình agent có thể không cần biết đặc tả về mạng. Và Agentservice có thể được hiện thực dựa trên nền tảng của kỹ thuật RMI của java
+ Agent service quản lý vòng đời (life cycle) của agent. Nó kích khởi trạng thái thực thi tiếp theo của agent sau khi đã kiểm tra timer, quản lý toàn bộ hoạt động của agent trong khi agent thực thi, cung cấp trạng thái thực thi của agent cho Persistence service, và làm nhiệm vụ hủy agent khi agent hết vai trò.
♦Event service :
+ Event service quản lý các công việc đăng nhập, gởi, khai báo các sự kiện đến và đi từ agents hoặc nhận sự kiện từ Administrator. Sự kiện là một đối tượng mang thông tin được định nghĩa trong các protocol giao tiếp giữa các agent được hiện thực bằng một java object. Các protocol giao tiếp này đơn giản chỉ là sự thống nhất giữa các agent. Chính vì thế Event service có thể được hiện thực dựa vào dịch vụ Remote Event của JINI.
+ Event service cũng đảm nhiệm việc liên lạc giữa các collaboration agents, giúp các agent này truyền sự kiện đồng bộ hay truyền dữ liệu cho nhau.
+ Vấn đề security được đặt ra khi event service gởi nhận các thông điệp từ các event service nằm ở agent place khác.Tuy nhiên dịch vụ remote event của JINI cũng đã bảo đảm môt phần vấn đề trên, nhưng để tăng cường thêm sự bảo mật, chúng tôi đã thiết kế các thông điệp giao tiếp đều được mã hoá theo public key function .
♦Persistent service :
+ Persistent service chứa các trạng thái của agent khi di chuyển và thực thi tại agent place. Chức năng của nó là cho phép phục hồi lại agent khi xảy ra lỗi do thất bại của hệ thống. Để cung cấp một phần khả năng bảo mật, chúng tôi sử dụng Marshalled Object của RMI để lưu trữ các trạng thái.
+ Persistent service hoàn toàn trong suốt trong hoạt động của nó, nghĩa là agent lẫn administrator không cần điều khiển hay giám sát hoạt động của persistent service.
♦Queue service :
+ Queue service định thời và cho phép kích khởi các agents trong hàng đợi theo một thứ tự ưu tiên nào đó trong agent place. Nó cung cấp cơ chế ưu tiên và việc lấy agent có độ ưu tiên cao nhất ra khỏi hàng đợi, rồi chuyển cho
agent service.Cụ thể, khi agent lần đầu tiên được dispatch vào agent place, hay vừa đến một agent place nào đó, nó sẽ được queue service tiếp nhận và đưa vào hàng đợi, để chờ kiểm tra timer.
+ Bảo toàn agent khi chúng đợi thực hiện công việc. Các agent được lưu trữ dưới dạng data stream phải được bảo vệ. Hiện nay chỉ dùng Marshalled Object của RMI
♦Directory service:
+ Cung cấp dịch vụ đặt tên trong framework . Người quản lý có thể đặt tên dịch vụ theo một số cách tùy theo nhu cầu của người lập trình và dịch vụ. Đây là dịch vụ khá quan trọng, nó tạo nên tính unification của framework và như thế nó được hiện thực thông qua Lookup Service của JINI và RMIRegistry của RMI.
♦Security service:
+ Security service tiến hành kiểm tra authentication và authorization, cụ thể nó có trách nhiệm xác định những users được quyền yêu cầu agent place thực hiện collaboration, bảo vệ resources tại agent place.
+ Security Service đảm bảo an toàn cho agent và các đối tượng lưu trữ dữ liệu khi agent di chuyển trong hệ thống. Nhưng việc đảm bảo an toàn chủ yếu chỉ dừng lại ở mức độ phát hiện lỗi.
♦Agent Place tools :
+ Cung cấp Graphic User Interface giao tiếp giữa hệ thống FrameWork với mobile programmer.Cho phép programmer đưa moving agent vào framework một cách dễ dàng và thể hiện thông tin read-only của agent place
♦Administrator Service :
+ Administrator bao gồm việc quản lý tất cả các dịch vụ, quản lý các agents tại agent place đó. Nó quản lý luôn cả Agent Place Tool của Agent Place, đồng thời đảm nhận vai trò giao tiếp với các Agent Place khác và General Administrator .