JIMAF: Related Work

Several approaches have been proposed in the literature for enabling interoperability among heterogeneous MASs. It is possible to classify such approaches into three further-specializable main classes: Specification-based, Low-Level and High-Level


Specification-based approaches provide interoperability ruled by standard specifications such as MASIF (Mobile Agent Systems for Interoperability Facility) [MBB*99] and/or FIPA (Foundation of Intelligent and Physical Agents). A CORBA-based approach that combines the FIPA communication standard with MASIF was proposed in [BCS00].


Low-level approaches support interoperability by adding application-level adaptation layers to and by modifying the existing software components of the MASs to be made interoperable. The concept of the universal server, able to host a mobile agent coming from any MAS, and the use of software converters between MASs, which capable of converting a mobile agent coming from a source MAS to a mobile agent of a target MAS, are research efforts belonging to this class. In particular, the actualization of the universal server concept has been presented in [PR02] where the agent server of the SeMoA mobile agent system is able to host mobile agents coming from JADE, Tracy and Aglets
The use of converters has been reported in [TTN99] in which the authors present a way of converting an Aglets agent into a Voyager agent (and vice versa), so that the agent can migrate between the Aglets and Voyager platforms. Generally, the use of converters implies the implementation of a converter for each pair of MASs.


High-level approaches offer interoperability by means of application-level adaptation layers which are added to the MAS without modifying the MAS and without requiring access to the MAS source code. The definition of a universal agent, able to run on any MAS, and the creation of a generic interface (also known as the middleware approach) are research efforts belonging to this class.The former has been exploited in [MR00], whereas the latter in [G00, MPD*02, GGK*02, BTK05, BMG*04].

[MR00] uses the metaphor of a "head" that contains the agent logic or abstracted mission, and a "body" that serves to translate migration, communication, and lookup calls for the specific platform in question. The agent head would need a different body for each different MAS. This approach only allows for the migration of the "MONADS" agents to different agent platforms (currently Grasshopper, JADE, and Voyager), as the head is a MONADS agent.

In [G00] a high-level approach is briefly documented which provides an "Abstraction Layer" able to allowing for interoperability of migration and execution among Aglets, Grasshopper, and Voyager.

In [MPD*02] the Guest proposal is presented which requires the mobile agent to be written so to use a Guest interface which is layered on top of the native interface of each mobile-agent platform. Existing mobile agents must be rewritten to use the Guest interface. The Guest approach only delivers migration and execution interoperability between the following MASs: Aglets, Grasshopper, and Voyager.

In [GGK*02] GMAS (Grid Mobile-Agent System) is proposed, which, in its simplest version, requires existing mobile agents to be rewritten to use a standard interface. GMAS, however, builds on this simpler functionality and allows existing agents to run unchanged atop different mobile-agent platforms. Each agent uses the native interface of its "home" platform, and "adaptors" (Foreign2GMAS and GMAS2Native) translate the agent from one native interface to another when the agent is visiting a foreign platform. The adaptors first translate one native interface into a common interface, and then from the common interface to the target interface. Such dual translation prevents the combinatorial explosion in the number of adaptors. GMAS avoids the need for source code access, and uses only the public interfaces of each mobile-agent system. GMAS provides migration and execution interoperability whereas communication interoperability is deemed to be of minor importance. In particular, GMAS currently grants interoperability between D'Agents, Nomads and EMAA. Indeed, the actual application of GMAS required one change to the existing implementations of each used native platform: a fallback mechanism was introduced to try the Gateway if the native transfer protocol failed. For this reason, the GMAS approach is classified between the Low-level and the High-level approaches.

In [BTK05] the authors propose a mobility service, named Kalong, which was designed to be independent of any existing agent toolkit and only requires that mobile agent classes implement the Java Serializable interface. Kalong was integrated into Tracy and, currently, also into JADE. In particular, the integration of Kalong as a new mobility service into JADE was straightforward without requiring any changes to Kalong or JADE. In addition, the migration performance of JADE agents can be significantly improved using Kalong. This innovative approach is, however, only able to provide migration and limited execution interoperability among MASs and has currently been applied to grant interoperability only between Tracy and JADE.


[MBB99] D. Milojicic, M. Breugst, I. Busse, J. Campbell, S. Covaci, B. Friedman, K. Kosaka, D. Lange, K. Ono, M. Oshima, C. Tham, S. Virdhagriswaran, and J. White, MASIF: The OMG Mobile Agent System Interoperability Facility, Personal Technologies, 2(3), pp. 117-129, Dec. 1999.

[BSC00] P. Bellavista, A. Corradi, C. Stefanelli, Corba solutions for interoperability in mobile agent environments, Proceedings of the International Symposium on Distributed Objects and Applications (DAO 2000), Antwerp, The Netherlands, September 2000. pp. 283-292.

[PR02] U. Pinsdorf and V. Roth, Mobile Agent Interoperability Patterns and Practice, Proc. of 9th Annual IEEE Int. Conf. and Workshop on the Engineering of Computer-Based Systems (ECBS), Apr. 8-12, Lund, Sweden, 2002.

[TTN99] D. Tjung, M. Tsukamoto, and S. Nishio, A Converter Approach for Mobile Agent Systems Integration: A Case of Aglets to Voyager, Proc. of the 1st Int. Work. on Mobile Agents for Telecommunication Applications (MATA'99), Ottawa, Canada, Oct. 6-8, 1999, pp. 179-195.

[MR00] P. Misikangas and K. Raatikainen, Agent migration between incompatible agent platforms, Proc. of the 20th Int. Conference on Distributed Computer Systems. IEEE Computer Society Press, April 2000.

[G00] T. Gschwind, Comparing Object Oriented Mobile Agent Systems, in Proc 6th ECOOP Workshop on Mobile Object Systems, Sophia Antipolis, France, 2000.

[MPD*02] L. Magnin, V. T. Pham, A. Dury, N. Besson, and A. Thiefaine, Our Guest Agents are Welcome to Your Agent Platforms, Proc. of Symposium on Applied Computing (SAC'02), Madrid, Spain, pp. 107-114, 2002.

[GGK*02] A. Grimstrup, R. Gray, D. Kotz, M. Breedy, M. Carvalho, T. Cowin, D. Chacon, J. Barton, C. Garret and M. Hofmann, Toward Interoperability of Mobile-Agent Systems, Proc. of the 6th IEEE Int. Conference on Mobile Agents, Barcelona, Spain, Oct. Springer-Verlag: LNCS 2535, pp. 106-120, 2002.

[BTK05] P. Braun, D. Trinh, and R. Kowalczyk, Integrating a New Mobility Service into the Jade Agent Toolkit, Proc. of MATA, 2005.

Contact Information