110 likes | 237 Views
Aglets. Based on Mobile Agents with Java: The Aglet API by Danny B. Lange and Mitsuru Oshima. Their Definition of Agent. A software object Mandatory properties reactive autonomous goal-driven temporally continous. Seven Good Reasons (I). Reduce network load through mobility
E N D
Aglets Based on Mobile Agents with Java: The Aglet API by Danny B. Lange and Mitsuru Oshima
Their Definition of Agent • A software object • Mandatory properties • reactive • autonomous • goal-driven • temporally continous
Seven Good Reasons (I) • Reduce network load through mobility • Overcome network latency • Encapsulate protocols -- dealing with legacy systems • Execute asynchronously and autonomously
Seven Good Reasons (II) • Adapt dynamically • Naturally heterogeneous • Robust and fault-tolerant • can find better hosts • can distribute tasks • work redundantly
Pos. Agent Chars. of Java (I) • Platform independent • Secure execution • no illegal type casting • no pointer arithmetic • byte code is checked before execution • Dynamic class loading • Multithread programming • synchronization primitives
Pos. Agent Chars. of Java (II) • Object serialization • Reflection
Neg. Agent Chars. of Java (I) • No resource control • CPU cycles • memory • GUI handles • No protection of references • access to public methods • proxy
Neg. Agent Chars. of Java (II) • No object ownership of references • garbage collection • memory, GUIs not released • agent kept alive against its will (with reference to agent) • No support for preservation and resumption of execution state • no access to virtual machine, program counter, etc.
Basic Concepts of Aglets • Aglet • Proxy • Context • Message • synchronous and asynchronous • Future reply • Identifier
Basic Operation on Aglets • Create • Clone • Dispatch • Retract • Activate and deactivate • Dispose • Send and receive messages