
runtime, taking along with their (new) Java code and
state. The ADK implements the full Java security
model using certificates and permissions. The
system is well protected against malicious local or
foreign agents by strict control of agent permissions.
The ARE protects agents from each other.
Additionally, all the transmissions are under
protection of encryption by using a secure socket
layer (SSL). More powerful features provided in
ADK means more computing resource required. At
present only powerful mobile devices such as
PocketPCs can support the execution of the ADK.
The ADK is FIPA compliant and supports both J2SE
and J2ME platforms. The Tryllian’s Agent
Development Kit is commercially available.
2.3.2 MicroFIPA-OS
FIPA-OS [FIPA-OS] is a component-based toolkit
enabling rapid development of FIPA compliant
agents. MicroFIPA-OS [MicroFIPA-OS] is an agent
development toolkit and platform based on the
FIPA-OS agent toolkit. The target devices of
MicroFIPA-OS are non-resource-constrained
devices. To fit on resource-constrained mobile
devices, MicroFIPA-OS simplifies the FIPA-OS
components. XML parsing and heavy use of threads
are removed. Thread and resource pools are
employed. In addition, MicroFIPA-OS limits the use
of the Java reflection API and dynamic invocations.
The MicroFIPA-OS basically follows the FIPA-
OS architecture and it’s extensible by plugging in
components that either replace or supplement the
architecture [FIPA-OS]. FIPA-OS programming API
is also supported in MicroFIPA-OS with some
limitations pertaining to the supported interaction
protocols. The platform can be run in a minimal
mode, which enables the agent to be smaller by
using some low-level programming API.
Programmers or developers may create their own
task and conversation mangers in this mode, and
better performance can be achieved.
A major limitation of MicroFIPA-OS is its
limited support for mobile devices. At present it is
only suitable for some high-end PDAs.
2.3.3 LEAP
The Lightweight Extensible Agent Platform (LEAP)
[Bergenti et al, 2001] is the most well-developed
agent platform for mobile devices. LEAP is based on
JADE [Bellifemine et al, 1999], which is an agent
platform developed under a grant from the European
Commission. The JADE framework, which is fully
implemented in Java consists of a main container
and several agent containers. In an agent container,
there is a message dispatcher responsible for
delivering messages of agents to other containers
and an Agent Communication Channel (ACC)
responsible for passing messages between different
agent platforms. A main container is a special case
of an agent platform. The main container maintains
special services on the platform such as the Agent
Management System (AMS), the Agent
Communication Channel (ACC) and the Directory
Facilitator (DF) serving as the white and yellow
page directories where agents can request each
other’s address and check whether agents exists
anywhere that perform special services.
LEAP is the result of an EU project of a
consortium consisting of Motorola, BT, Siemens,
and others. The LEAP, combined with JADE,
replaces some parts of the JADE kernel forming a
modified runtime environment that is identified as
JADE/LEAP (“JADE powered by LEAP”). The
JADE/LEAP can be deployed on a wide range of
devices varying from servers to Java enabled cell
phones.
We believe that embedding agent platforms in
mobile devices is the most promising research
direction. The tight integration approach should
yield greater flexibility and be most effective way to
design and control agents. However, there’s a major
limitation in this approach: The low level of
computing resources available, which may directly
limit the agents’ competencies. Mobile agent
systems today are very resource demanding both for
the client and the server. As a result, though mobile
devices are experiencing a continuous growth in
resources and power, some of them still do not have
the capability to execute a mobile agent platform.
For example, the JADE/LEAP platform supports
agent mobility between J2SE and Personal Java
containers, while mobility is not available on MIDP.
In other words, mobile agent technology would not
be applied in the great majority of Java enabled cell
phones on which JADE/LEAP is installed.
3 COMPARISON
This section presents a comparison between the
three different approaches discussed above, namely
“remote”, “customizable”, and “embedded”. The
comparison is based on the following issues:
– Mobile agents. In the “remote” approach, users
run MIDlets on their mobile devices to dispatch
a remote mobile agent using a delegation model.
All agents execute and migrate on stationary
agent servers. The “customizable” approach
enables the entire agents (code and data) run in
Thick Clients, but in the case of Thin Clients,
ICEIS 2004 - SOFTWARE AGENTS AND INTERNET COMPUTING
334