[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Message tracking in Self




I'm investigating three dimensional programming environments, including
the use of animation of message passing between objects in the virtual
environment.  I have implemented a prototype system, using the Self World
objects as a starting hierarchy.  I chose it because of the way it uses 
slots instead of separate structures for variables, functions etc.

In order to extend the prototype to show message passing, I need some 
way of tracking which messages are sent during the execution of a Self
program.  I've examined the profiler, but that does not preserve the
sequential nature of the message passing, and other primitives provided
by the VM (e.g. _Trace) group messages from different processes together.

Can you recommend or suggest a way of intercepting message sends using
the existing VM.  Is it possible to set up an interrupt-like system
where messages are diverted to a specified object for processing before
being forwarded to the intended receiver?

If this is possible it will allow messages to be visualized as little 
objects zipping around the 3d space, and this could be used to show
a type of profiling information, with objects being at the centre of
a hive of activity.

Thanks in advance,

Nick Drew
nsd@cs.bham.ac.uk
http://www.cs.bham.ac.uk/~nsd