370 likes | 643 Views
Comparison Study of Three Mobile Agent Systems Aglets, Grasshopper and Voyager. Qunhua Zhao, Hua Wang and Yi Zhang Department of Computer Science and Engineering University of Connecticut. What is Software Agent? . Debated for a long time and no unique definition.
E N D
Comparison Study of Three Mobile Agent SystemsAglets, Grasshopper and Voyager Qunhua Zhao, Hua Wang and Yi Zhang Department of Computer Science and Engineering University of Connecticut
What is Software Agent? • Debated for a long time and no unique definition. • End user view: An agent is a program that assists people and acts on their behalf. Agents function by allowing people to delegate work to them. • System view: A software object that • Is situated within an execution environment. • Reactive, Autonomous, Goal-Driven, Temporally continuous. • Communicative, Mobile, Learning, Believable. Lange, D and Oshima, M. (1998)
What is a Mobile Agent? • An mobile agent is not bound to the system where it begins execution. • It can transport itself from one system in a network to another, and resume its execution. • It can bring its state to a new remote host.
Why Use Mobile Agents? • Reduce Network load. • Overcome network latency. • Encapsulate protocols. • Execute asynchronously and autonomously. • Naturally heterogeneous. • Robust.
Mobile Agents Applications. • Electronic commerce: e.g. stock quote. • Personal assistant: e.g. meeting scheduler. • Distributed information retrieval. • Monitoring and notification. • Parallel processing. • Game on the Internet.
What is the Mobile Agent System? • An agent system is a platform that can create, interpret, execute, transfer, and terminate agents. • Components: • Agents. • Places: an environment in which an agent execute.
Aglets System. A User Interface A Security Manager A Network Daemon Network
Resources Agents Place Engine Host Agent System.
Agent Properties. Interface Implementation State Identifier
Agent Transfer Sender Receiver SuspendExecution Resume Execution Serialize Agent Deserialize Agent Encode Data Decode Data Transfer Data Receive Data Network
Agent Code Transfer. Server (c) Class at Server Class Code Origin Destination Agent Agent Class Code Class Code (b) Class at Origin (a) Class at destination
Life Cycle of a Mobile Agent.(Aglets example) Context A Context B Dispose Clone Aglet Aglet Create Deactivate Active Class File Disk Storage
place place place The Internet List of Locations Agent place Agents Travel Among Places within the Network.
Goal. • Experience with agent programming. • Focus on the performance comparison of different mobile agent systems. • We define the performance of an agent system as the total completion time of a certain task by a program, which is implemented by this agent system package
Three Chosen Mobile Agent Systems. • Aglets • IBM • http://www.trl.ibm.com/aglets/index_e.htm • http://sourceforge.net/projects/aglets/ • Grasshopper • IKV++ • http://www.grasshopper.de/ • Voyager • Objectspace Recursion Software • http://www.recursionsw.com
Why Choosing these three Systems? • Popularity • Representative • Aglets: Focus of mobile agent. • Grasshopper: A mobile agent system built on top of a distributed processing environment. The first mobile system compliant to OMG’s MASIF specification. • Voyager: An agent enhanced ORB. • Programming language (JAVA) • Availability • Compatibility to latest version of JDK (1.3.1/1.4.1) • Document and support
Agent inheritance in Aglets and Grasshopper. <<Interface>> IAgent Aglet <<Interface>> IStationaryAgent Agent <<Interface>> IMobileAgent StationaryAgent MobileAgent agent SAgent MAgent Aglet Grasshopper
Voyager’s Agent Concept. Primary Object Facet Facet (Agent) Facet
Design Pattern for Agent Application. • Traveling patterns • Task Patterns • Interaction Patterns
Agent Design Pattern (cont.) • Traveling • Itinerary: routes among destinations. • Forwarding: a host forwards an arrived agent to another host. • Ticket: objectifies a destination address and encapsulates the quality of service and permissions needed to dispatch an agent to a host address and to execute it there. • Task • Master-Slave: an agent delegate a task to another • Plan: organize multiple tasks to be performed in sequence or in parallel by multiple agents.
Agent Design Pattern (cont.) • Interaction • Meeting: two or more agents initiate local interaction at a given host. • Locker: defines a storage and come back for data later. • Messenger: an agent carries a remote message from one agent to another. • Facilitator: an agent provides services for naming and locating agents. • Organized Group: travel together.
Experiment Design • Search Agent • Search Agent goes through a list of hosts one by one, collects information from them and finally reports to the sender. • Coop Agents • Coop Agents need to do a simple calculation job co-operatively while moving around within the network.
Experiment Design –Search Agent • Search Agent goes through a list of hosts one by one, collects information from them and finally reports to the sender.
Experiment Design–Coop Agent • Coop Agents need to do a simple calculation job co-operatively while moving around within the network.
Conclusion & Future Work • Performance Comparison in our project • Aglet performs best; • Voyager is better than Grasshopper; • Different JDK environment influenced the experiment result. It is one of reasons that Voyager is slower than Aglet.
Conclusion & Future Work (cont.) • Compare system performance with different communication methods. • Compare system performance with security settings. • Voyager ORB 4.5. • Improve robustness of the systems (configuration?) • Experiments with Voyager’s resource reuse.