JIMAF: A Java-based Framework for Experimenting with Interoperable Mobile Agents

Interoperability is a key issue for a wider adoption of Mobile Agent Systems (MASs) in heterogeneous and open distributed environments where agents, in order to fulfill their tasks, must interact with non homogeneous agents and traverse different agent platforms to access remote resources. To date, while several approaches have been proposed to deal with different aspects of MAS interoperability, they all lack the necessary flexibility to provide an adequate degree of interoperability among the currently available MASs.
In this context we designed and implemented a Java-based framework, named JIMAF (Java-based Interoperable Mobile Agent Framework), which relies on an event-driven, proxy-based mobile agent model. JIMAF supports interoperable mobile agents which can be easily coded and adapted to existing MASs without any modifications of the MAS infrastructures.

In particular, the framework is structured in three sub-layers:

  1. the Interoperable Mobile Agent Layer (IMAL), which supports the programming of mobile agents which are independent from any specific MAS
  2. the Adaptation Layer (AL), which adapts an interoperable mobile agent to a specific MAS
  3. the Platform-dependent Mobile Agent Layer (PMAL), which provides a set of basic, platform-dependent mobile agents on which interoperable mobile agents can be adapted via the AL.

An interoperable mobile agent therefore consists of a MAS-neutral high-level part which does not change throughout the mobile agent lifecycle, and a low-level part which depends on the specific MAS in which the mobile agent is operating and therefore changes after a heterogeneous migration, assuming the "shape" of the mobile agent of the new hosting MAS.
The high-level part of an interoperable mobile agent is programmed according to a programming model based on the concept of event-driven lightweight agent. Communications among interoperable mobile agents are based on asynchronous messages, whereas communications between an interoperable mobile agent and a MAS-specific mobile agent are mediated by a wrapper agent. While execution and communication interoperability is directly furnished by the framework, migration of interoperable mobile agents between two heterogeneous MASs is enabled by MAS Bridges which are software equivalents of network bridges.

By using JIMAF, mobile agent-based applications spanning different MASs can thus be easily constructed by defining and assembling both interoperable mobile agents and MAS-specific mobile agents.

Currently, the framework is layered atop the following MASs: Aglets, Ajanta, Grasshopper and Voyager.
These MASs were selected from the large number of available Java-based MASs as they are widely cited and very well documented, robust and stable, very representative of on-going research and commercial efforts, extensively used for developing a broad range of applications as well as sophisticated programming systems. Current work aims at layering JIMAF atop JADE.

In order to evaluate the performance of JIMAF over the MASs currently exploited, so to quantify performance overhead which an application-level approach inevitably introduces, several micro-benchmarks and a micro-kernel were defined and run to evaluate the performances of migration, lookup, message transmission, creation, and roaming of the interoperable mobile agent and to compare the results with those of the mobile agents of the MASs atop which JIMAF was layered.

What's new:


Contact Information