1.簡介
MASIF(Mobile AgentSystem Interoperability Facility)是GeneralMagic、IBM等多家公司和研究機構聯合向OMG組織提交的一份標準化檔案,旨在規範一些共性的術語定義,並為不同的Mobile Agent系統提供基於CORBA的可互操作的接口,同時注意了簡單性和通用性的原則以支持Mobile Agent技術的未來發展。
2.MASIF提供的服務
MASIF除了可以得用CORBA的特性實現互操作外,還可以使用CORBA提供的以下服務:
1) 名字服務(Naming Service):CORBA 名字服務將名字(表現為字元串)與CORBA 對象綁定。應用程式可以利用該服務來公布命名對象,或通過對象名來查找對象引用。MASIF 定義了兩種CORBA 對象界面(Object Interface):MAFAgentSystem和MAFFinder。對象通過名字服務來公布,這樣可以帶來一些編程上的方便。例如,當Agent進入某區域後可以利用名字服務查找MAFFinder 的對象引用,以便進一步使用MAFFinder 對象所提供的服務。
2) 生命周期服務(Lifecycle Service):CORBA 生命周期服務用於創建、刪除、拷貝靜態的(Static)和被動的(Passive)CORBA 對象,但不能用於象Agent這樣的可移動的(Mobile)和主動的(Active)對象。Agent系統則是一個可由CORBA 生命周期服務進行創建或刪除的靜態對象的例子。區域(Region)管理器可以利用這一特點,增加區域中Agent系統的數量以處理增加的Agent負載。
3) 序列化服務(Externalization Service):CORBA 序列化服務提供了一種將對象狀態記錄為數據流或從數據流恢復為對象狀態的標準化的機制。Agent系統可以選擇該服務來對Agent的狀態進行序列化和去序列化。當然,Agent系統也可以採用非CORBA 的序列化機制(比如Java 的對象序列化方法)。
4) 安全服務(Security Service):移動Agent是可以在Agent系統之間移動的電腦程式,這對Agent系統的安全性提出了很高的要求。利用CORBA 的安全服務,可以向Agent系統提供以下的安全支持:遠程Agent創建時的客戶方認證、Agent系統間的相互認證、 Agent認證和經過傳遞的認證、信息的完整性、保密性及重放(Replay)檢測。
3.MASIF的界面
MASIF由一組定義和界面所組成,通過它們可保證移動Agent系統間的互操作性。考慮到移動Agent技術將來的發展,MASIF規範儘量以簡單和通用為其原則。
MASIF 模組由兩個界面所組成:
(1)MAFAgentSystem 界面
(2)MAFFinder 界面
MAFAgentSystem 界面定義了對Agent的有關操作,其中包括Agent的創建(Creat)、接收(Receive)、暫停(Suspend)和終止(Terminate)等操作。MAFFinder 界面定義了Agent登錄(Register)、去登錄(Unregister)以及Agent、場所(Place)和Agent系統定位(Locating)的有關操作,它的作用相當於是Agent、場所(Place)和Agent系統的名字與位置的動態資料庫。
出於互操作性的考慮,MASIF 是在Agent系統層上定義界面的。Agent系統和Agent都可以是CORBA 對象,但也並非必須是CORBA 對象。由於Agent居於Agent系統之內,所以它的具體實現要依賴於創建它的Agent系統的具體實現。
4.MASIF 的不足
1) MASIF 規範目前只定義了區域內Agent的互操作,但是,實際系統中,我們沒有理由排除區域間Agent 的互操作,為解決此問題,需要擴展MASIF 規範中定位服務。
2) MASIF規範只定義了單跳(One Hop)的安全機制,沒有考慮多跳的安全。
3) MASIF規範並沒有定義和符合FIPA 規範的智慧型Agent的互操作。
4) MASIF只定義了互操作外部界面,沒有定義內部界面,用戶工作量較大。
5) MASIF利用的是CORBA 命名服務,而不是交易服務。