Visualization of Mobile Agents Project Update Ken Deeter
Visualization of Mobile Agents Project Update Ken Deeter CPSC 533 C
What are Mobile Agents • Mobile agents are programs that “move” in a network. – Ex, to query a network, instead of one host sequentially querying all hosts, send an agent that moves from host to do the querying. • Agents have interesting and complicated behavior. – Parallel Replication/Recursion – Cooperation
WAVE • A programming language that is built for describing the behaviour of agents. – Operates on a virtual network – Notion of network topology and navigation is fundamental in the language’s design – Can concisely specify complex parallel behaviour
My Project • Create a general framework to visualize agent behaviour – Should be able to see network topology – Should be able to see some animation describing behaviour/state of agents (including events occurring in parallel) – Should allow for playback and rewind
Target User(s) • Developers of agent based algorithms – The intent is to allow people who design programs with agents to visually verify the complex behaviour of their systems. • Other uses – Educational tool – Interaction (allow user to affect the algorithm/process by interacting with the visualization, for ex: moving a node)
Specific Design Goals • Visualization – Smooth, comprehensible animation of agents, agent state, and parallel agent events – Automatic/controllable graph layout • Interaction – Concentrate on specific nodes/agents – Slow motion, rewind (scaling time)
Related Work • CPU pipeline visualization – See complex parallel behaviour • Automatic graph layout, both dynamic and static • Agents – Often used to collect data, but agents themselves are seldom visualized directly. (they are not the main interest in many cases)
Design • Specify a logging language that allows applications to record a sequence of events that are to be visualized – For example, “create node x y” “agent N move A B” – Logging must be built into program – Makes visualization generic across many different programs
Implementation • Something simple to start – Java 2 D, Java 3 D • If viz ideas look good, then rewrite using a more scalable library – Open. GL – Other hardware-assisted rendering
- Slides: 9