Status of the Ara development
Time: April 1997.
- The Ara core can run agents concurrently using a fast thread package,
with each interpreted agent running in a separate address space
(implemented completely in software); agents compiled to native machine
code share the same address space. Agents are scheduled under a time
- All core services work uniformly for all agents without regard to their
- Agents are equipped with an allowance for resource access in the form
of quantitative or qualitative limits for each resource. Any access is
debited to rsp. checked against the accessing agent's allowance.
Currently, only the resources "CPU time" and "memory" are covered by
- The core offers a concept of agent interaction whereby client agents can
meet local server agents at "service points" under symbolic names and
synchronously exchange arbitrary requests and replies.
- Mobile agents can migrate to remote nodes at any point in their execution
and continue from the exact state they left in, even between heterogeneous
- Mobile agents are transmitted using TCP (one data packet sent, one
The following interpreted languages have been adapted to Ara, making them
usable for mobile agent programming:
- Tcl (version 7.4)
- C/C++ by means of precompilation to MACE,
an interpretable byte code.
- Agents can clone themselves, duplicating their internal state.
- Agents can checkpoint their internal state to disk for later restoration.
- Agent migration can be routed over a wireless link (19.2kBd radio modem),
depending on the destination place.
- The system has been tested on SparcStations (SunOS 4.1, Solaris 2.4 and
2.5) and Intel-based PCs (Linux 1.2 and 2.0).
- Version 1.0a has been released in source code.
- In the works:
- Adapting Java to Ara to make it
usable for mobile agent programming
- Multiple, user-defined places with security policies programmable by
application code in the form of issuing individual local allowances to
- Make all important resources subject to allowances: Files, network
connections, disk space, network bandwidth, visited places
- Agent transmission by SMTP (i.e. e-mail), in addition to TCP.
- Access to files and network connections to be scheduled and authorized
by the core (currently direct calls to the host operating system are used)
- Encryption and authentication of migrating agents
- Unreliable asynchronous inter-agent messaging
- Better error handling for agents failing remotely
- A distributed monitor and debugger for agents and nodes
- An application for distributed information research in the Usenet news
- Further source code releases
- Planned or considered:
- Global yellow pages service
- Comfortable graphical user interface access
- Adapting Pascal and Lisp to Ara
- An on-the-fly compiler from the MACE byte code to
native machine code
- An application for meeting scheduling for mobile users
- Porting the system to Windows '95 and/or Windows NT
copyright © 1997 The University of