2.5 Mobile Agent Platform
2.5.2 Mobile Agent Systems Interoperability
Agents need to communicate with one another in the process of working together to achieve a common goal, agent paradigm of software development believes that communities of agents are much more powerful than any single agent, which necessitates interoperation of agent systems. Interoperability in mobile agent community focuses on the execution environment and standardization of certain aspects and features of agents while in the non-mobile agent contex the focus is on communication, that is effective exchange of information and knowledge content of agents. Interoperability has been defined by Pinsdorf and Roth (2002:1) as follows:
Two mobile agent systems are interoperable if a mobile agent of one system can migrate to the second system, the agent can interact and communicate with other agents (local or even remote agents), the agent can leave this system, and it can resume its execution on the next interoperable system.
UNIVERSITY OF IBADAN LIBRARY
51 Figure 2.13: Mobile Agent System Architecture. (Adapted from Pears, 2005)
UNIVERSITY OF IBADAN LIBRARY
52 Research works are currently going on in the area of mobile agents‟ interoperability, several solutions have been proposed but they lack the necessary flexibibility to provide adequate degree of interoperability among the available MASs (Fortino and Russo, 2003). Interoperability is paramount to the global acceptance of MAS in heterogeneous and open distributed environments where agents must interact with other agents to fulfil their tasks and visit different agent platforms to access remote resources.When mobile agents migrate to a new host, the platform on the host provides execution environment, the mobile agent might execute code, make remote procedure calls to access resources on the host, collect data or initiate another migration process (Zenghache, 2002). Problems arise from the fact that not all platforms for mobile agents are the same and thus, cannot provide necessary services for non-compliant mobile agents. Mobile agents differ in architecture and implementation; this impedes interoperability, rapid proliferation of agent technology and growth of the industry (Milojicic et al, 1998). Interoperability is directed at making an agent system accept and support the running of agents from another agent system and vendor, support the transfer of agent to other agent systems and find other agents and agent systems. To achieve these, mobile agent paradigm has to clearly define the following: agent management, agent transfer, agent and agent system name, agent system types, authority and location syntax. MASIF (Mobile Agent System Interoperability Facility) attempts to standardize some aspects of this execution environment to provide for mobile agents to interoperate (Zeghache, 2002; Schoeman and Cloete, 2003), while FIPA (Foundation for Intelligent Physical Agent ) attempts to standardize certain aspect of mobile agent (Bellifemine et al., 2007).
Grimstrup et al. (2002) proposed an Interoperability Application Programming Interface (IAPI) that supports registration, lookup, messaging, launching and migration of agent across different patforms. The system was implemented on Grid Mobile Agent System (GMAS). The design added three layers to the MAS layers: Foreign2GMAS (foreign MAS API to GMAS API translation), GMAS2Native (GMAS API to Native API translation), and common communication and discovery service, another two components are added to the participating MAS, Agent Luncher and Gateway. Any MAS willing to host foreign agents implements GMAS2Native translator, agent launcher and gateway while a MAS that wishes to send its agent to operate on another MAS implements Foreign2GMAS translator and gateway. The solution was tested with Java based MASs D‟Agent, EMAA(Extensible Mobile Agent Architecture) and
UNIVERSITY OF IBADAN LIBRARY
53 NOMADS (Network Object Mobile Agent System). The system only enabled agent migration among diverse agent platforms but the agents may fail to execute due to difference in the level of the java API. D‟Agent uses JDK 1.0.2 while EMAA and NOMADS support Java 2. The performance of the system was also slow, the additional layers on the platforms being the major factor.
Secure and Open Mobile Agent (SOMA) (Bellavista et al., 2001) is another attempt at achieving interoperability, it was developed in compliance with both CORBA (Common Object Request Broker Architecture) and MASIF. SOMA uses a CORBABridge which consists of CORBA client/server which simplifies the design of SOMA entities as CORBA client /server and MASIFBridge which implements the MASIF functionality. The MASIFBridge is limited to only one place per domain in order to reduce the overhead it would have introduced, CORBA client is lightweight and it is extended to many places in the same domain. SOMA achieves interoperability with java-based mobile agents, agents can move, execute and interact, meanwhile the nodes in the system are grouped into domains, each domain has a default place that houses the MASIFBridge which controls the interdomain routing. This implies the success of the interoperability in the system lies with the default place, the system has a single point of failure. The security and fault tolerance of the system is important for interoperability to be fully attained, SOMA achieves security but it is not fault tolerant.
Moreover, the MASIFBridge introduced a considerable overhead.
Fortino and Russo (2003) proposed a java-based framework for interoperability among java-based mobile agent systems. The framework consists of three software layers, the Interoperable Mobile Agent Layer (IMAL), the Adaptation Layer (AL) and the Platform-dependent Mobile Agent Layer (PMAL) which constitute a considerable overhead. At the same time, a Mobile Agent Bridge must be developed for each agent platform to be able to migrate; this constitutes an additional overhead on the system.
The framework permits interoperability of execution, migration and interaction of java- based mobile agent systems.
Based on the shortcomings of the above interoperability models, there is a need to find a common platform on which agents from different platforms and vendors with different design and architecture can communicate, execute and interact without fear of risk or vulnerability to failure and other attacks.
UNIVERSITY OF IBADAN LIBRARY
54