- Quá trình phân tích moving agent theo UM L:
2. Hướng phát triển của đề tài 1 Giới thiệu
2.1. Giới thiệu
Đề tài có thể phát triển với mục tiêu xây dựng một mô hình lập trình dựa trên kỹ thuật lập trình component-based : lập trình mobile intelligent agent. Theo đó các mobile agent được xem như những component được tích hợp vào trong hệ thống phân bố. Để xây dựng ứng dụng agent computing, user chỉ cần xây dựng các mobile agent
và tích hợp chúng theo một quy luật nào đó. Xuất phát từ lý do trên, mobility framework có thể được phát triển lên theo mô hình mobile agent container, tức là chúng ta có thể xây dựng một mobile agent từ một số các mobile agent khác.Các mobile agent được tích hợp vào trong một thực thể mobile agent, chúng vẫn có thể giao tiếp với nhau, vẫn có thể di chuyển và sự di chuyển của chúng sẽ tạo nên sự di chuyển của mobile agent “chứa” chúng. Như vậy trong hệ thống framework mới, một mobile agent ngoài những tính năng cơ bản, còn có đặc tính container, tức là khả năng chứa các mobile agent khác và tính intelligent được xây dựng ở một mức độ nhất định.
2.2 Extended Mobility Framework
2.2.1 Đặc tả
Trong hệ thống mobility framework mở rộng, mobile agent vẫn là một thực thể. Tuy nhiên, nó có thể tự quyết định lộ trình và câu lệnh mà nó sẽ thực thi. Khi mobile agent di chuyển thì trạng thái của nó cũng di chuyển theo. Trạng thái của mobile agent bao gồm trạng thái của riêng nó và các trạng thái của các mobile agent con bên trong nó.
Hơn thế nữa, mobile agent có hai đặc điểm cơ bản :
+ Mobile Agent Hierarchy : mỗi moible agent có thể chứa các mobile agent khác bên trong chúng, theo chúng tôi, mobile agent có thể tổ chức theo cấu trúc cây. Chúng tôi gọi mobile agent chứa các mobile agent khác là parent mobile agent và mobile agent ở bên trong mobile agent khác là child mobile agent. Một mobile agent có thể đồng thời là parent và child mobile agent. Mobile Agent Hierarchy cho phép chúng ta tạo nên mobile agent container, giống như kỹ thuật component-based software. Điều này cho phép chúng ta có thể xây dựng các ứng dụng moible agent có sclalibilty lớn và có độ phức tạp cao.
+Inter-agent Migration: mỗi child mobile agent di chuyển bên trong parent mobile agent, và tạo nên sự di chuyển của parent mobile agent.
Mobile agent A
Mobile Agent C Mobile agent E Mobile Agent D
Hình 4.1 Agent Hierarchy & Inter-agent Migration
Đối với mobility framework mà chúng tôi đã hiện thực, agent place, bộ phận cố định của mobile agent, cung cấp các dịch vụ và tài nguyên cho moving agent đến nó. Trong khi đó mobile agent trong extended mobility framework phải quản lý tài nguyên và dịch vụ trong quá trình di chuyển. Đến đây đặt ra một vấn đề về quản lý và phân chia tài nguyên cho các child mobile agent của một parent mobile agent. Theo chúng tôi, các parent mobile agent có nhiệm vụ quản lý và cung cấp các tài nguyên và dịch vụ của các child mobile agent. Cụ thể, các child mobile agent sử dụng tài nguyên và dịch vụ của nó, nhưng khi nó cần tài nguyên và dịch vụ khác thì parent mobile agent sẽ điều khiển các child mobile agent khác chứa tài nguyên và dịch vụ đó di chuyển đến, để cung cấp tài nguyên và dịch vụ cho child mobile agent này. Một vấn đề nữa được đặt ra đó là mối quan hệ giữa parent mobile agent và các child mobile agent của nó.
+Parent mobile agent & child mobile agent relation :
Parent mobile agent có quyền điều khiển trực tiếp các child mobile agent của nó. Điều đó có nghĩa là, nó có quyền di chuyển các child mobile agent của nó đến nơi nó muốn, đồng thời có thể treo child mobile agent, hoặc thậm chí có thể hủy child mobile agent của nó khi cần. Phương tiện giao tiếp giữa parent mobile agent và các child mobile agent, theo chúng tôi, vẫn là cơ chế message passing.
Ngược lại các child mobile agent không có quyền điều khiển hoặc chi phối các hoạt động điều khiển của parent mobile agent. Nhưng chúng có thể truy xuất tài nguyên và dịch vụ mà parent mobile agent cho phép.
2.2.2 Hiện thực
Extended mobility framework vẫn có thể được xây dựng bằng ngôn ngữ Java và các công nghệ của nó như JINI, RMI và có thể là CORBA. Với sự định nghĩa mobile agent như trên, extended mobility framework phải giải quyết các vấn đề sau
Mobile agent A Mobile Agent C Mobile Agent B Mobile agent E Mobile Agent D
2.2.2.1 Các vấn đề cần giải quyết2.2.2.1.1 Agent Hierarchy 2.2.2.1.1 Agent Hierarchy
Extended mobility framework phải duy trì agent hierarchy của các mobile agent. Như đã đề cập ở trên, agent hierarchy có thể được hiện thực theo một cấu trúc cây, trong đó tại mỗi node là một mobile agent. Sự di chuyển của các child mobile agent bên trong parent mobile agent của chúng ( inter-agent migration ) sẽ dẫn tới sự thay đổi cấu trúc cây hiện thực agent hierarchy của parent mobile agent của chúng, hay nói khác hơn đó chính là quá trình chuyển dịch cấu trúc cây hiện thực agent hierarchy . Và root của agent hierarchy có thể là một stationary agent hoặc một mobile agent. Để hiểu rõ hơn về inter-agent migration chúng tôi xin đơn cử một minh họa như sau. Giả sử trong framework có một mobile agent đóng vai trò là một parent mobile agent chứa nhiều child mobile agent và các child mobile agent này có thể là parent mobile agent của các child mobile agent khác. Quá trình di chuyển một child mobile agent ở đây nó còn là một parent mobile agent đến một child mobile agent khác được hiện thực bằng cách bỏ cây agent hierarchy của child mobile agent cần di chuyển và add nó vào thành một subtree có subroot là child mobile agent đích.
Hình 4.2 Inter-agent migration example 0 1 3 7 2 4 5 8 6 0 1 3 7 2 4 5 8 6
2.2.2.1.2 Agent Execution Management
Mỗi mobile agent có một hay nhiều hành vi nhằm thực hiện các tác vụ của user. Giống như mobility framework mà chúng tôi đã hiện thực, extended mobility framework sẽ quản lý hoạt động của các mobile agent thông qua cơ chế multi-thread của Java. Khi một mobile agent di chuyển, serialize hoặc bị giết đi, framework chỉ việc stop hoặc dispose thread của mobile agent đó. Hơn thế nữa framework còn quản lý life-cycle của mobile agent như initialization, execution, suspension, và termination.
2.2.2.1.3 Agent Migration Over Network
Thừa kế cách thức hiện thực quá trình di chuyển của mobile agent trong mobility framework, mobile agent của extended mobility framework vẫn phải serialize thành byte stream khi di chuyển và được deserialize khi đến đích. Việc di chuyển này vẫn dựa trên nền tảng của protocol HTTP và TCP/IP. Ở đây, cần phải giải quyết quá trình