Aglet Overview

"CREATE ONCE, GO ANYWHERE"

Mozart - Mobile Agents ]


Aglet Overview

Aglets are Java objects that can move from one host on the network to another. That is, an aglet that executes on one host can suddenly halt execution, dispatch to a remote host, and start executing again. When the aglet moves, it takes along its program code as well as the states of all the objects it is carrying. A built-in security mechanism makes it safe to host untrusted aglets. (Aglet Specification).

During the life of the aglet, these are events it may have.

  • Created: a new aglet gets created. The aglet and its state get initialized.
  • Cloned: a new aglet is spawned from an existing one, the state gets copied.
  • Dispatched: the aglet and state migrate to a new host.
  • Retracted: the aglet and state is brought back from a remote host.
  • Deactivated: the aglet is stopped, its state is saved.
  • Activated: a stopped aglet is started and its state is restored.
  • Disposed of: the aglet is killed, its state is lost.

As mentioned in the mobility overview, an agent maintains state at the application level and transports that state between distributed memory spaces using Java’s serialization methods. A good overview of Java's object serialization is available here. Java’s object serialization marshals and unmarshals an object to and from a stream of bytes.

The communications support underlying the stream can take the form of any suitable distributed systems architecture such as RMI, CORBA or the Aglet Transportation Protocol (ATP). The Aglet architecture defined in the Aglet Specification is shown in the following diagram.

arch.gif (3389 bytes)

The communication layer is used to transport serialized aglets, for messaging between aglets and for communications between Tahiti and a remote aglet. The Aglet communication API provides a wrapper around the underlying communication protocols and is derived from the OMG standard MASIF (Mobile Agent System Interoperability Facility). The communication layer itself is depicted in the following diagram.

masif.gif (7025 bytes)

As always, see the specification for the definitive source on Aglet mobility.

Back to Top


For problems or questions regarding this web contact [jalwan@shrike.depaul.edu].
Last updated: March 17, 1999.