|
|
|
Thomas Kunz |
|
Systems and Computer Engineering |
|
Carleton University |
|
http://kunz-pc.sce.carleton.ca/ |
|
tkunz@sce.carleton.ca |
|
|
|
|
|
Motivation and Related Work |
|
What to Visualize |
|
How to Visualize |
|
Tracing and Visualization |
|
Event Generation |
|
Event Collection |
|
Event Visualization |
|
Conclusions and Future Work |
|
|
|
|
|
Applications involving mobile agents are
complex: |
|
All the problems of parallel and distributed
applications (concurrency, scale, non-determinism, etc.) |
|
Additional problem: where are agents? |
|
Visual tools used widely in parallel and
distributed programming environments for program understanding, fault and
performance debugging, … |
|
Some popular visualization tools: |
|
Poet |
|
XPVM |
|
Polka |
|
Paragraph |
|
All support visualizing execution dynamics, none
explicitly shows mobility of code |
|
|
|
|
|
Visualization based on definition of “events” |
|
Events are lowest level of observable behaviour |
|
Sample events: send/receive a message, create a
thread/process, complete an encryption task, …. |
|
Target environment: Objectspace Voyager |
|
No distinction between objects and agents
(agents are objects that move autonomously) |
|
Our focus: objects/agents and their mobility |
|
Object/agent creation and destruction |
|
Events related to mobility: departure and
arrival |
|
|
|
|
|
|
|
Events are generated by adding instrumentation |
|
Operating system |
|
Runtime system, Middleware |
|
Application (our approach) |
|
To reduce effort, use: |
|
class inheritance (inherit from a “Visualizable”
class) |
|
adaptor pattern for classes that cannot use
inheritance (in single-inheritance systems) |
|
Special features of Java/Voyager: |
|
Callbacks for migration-related events provided |
|
Due to dynamic garbage collection, we cannot
reliably detect object destruction |
|
|
|
|
|
|
|
|
|
Identified interesting events to visualize
dynamics of mobile agents |
|
Developed runtime system support to generate and
collect these events |
|
Provide a visualization toolkit (based on XPVM)
to display agent movements within a process-time diagram |
|
Future work: |
|
Include other interesting events (method
invocations…) |
|
Study probe effect and performance for on-line
visualization |
|
Collect user feedback to validate usefulness of
tool |
|
Identify and support other interesting views
(network, etc.) |
|