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