--On Tuesday, November 16, 2004 2:00 PM -0800 Anil Menon <[EMAIL PROTECTED]> 
wrote:

Hi,

I am a friend of Todd Olson; he told me enough about
Hackystat to get me interested. My research interests
lie in the areas of evolutionary computation and
Bayesian methods. Todd suggested there might be a fit.

I had a couple of questions that I was going to post.

1. Did you guys ever consider using JAspects (from
Xerox Parc) as part of your framework for collecting
activity data? The neat thing about JAspects is that
it enables the tracking of basic, *dynamic* events
(memory allocations, method invocations, class inits,
etc). Architecturally too, it would seem like a nice
fit.

2. I installed Hackystat and the server side of things
went very smoothly. But I'm having a hard time setting
up a workspace root. I've got the ant sensors enabled
for example, but I'm still not seeing any workspace
root. Because the process is implicit, there is not
much I can do other than to keep fiddling with
parameters. Anyway, I'm sure I must be doing something
weird. I'll try to figure it out.

Great system though. The telemetry idea is really
neat.

--Anil

Hi Anil,

I've added you to hackystat-users-l, welcome.

<Question 1>
I think you mean "AspectJ", and yes, indeed, we have not only considered using it, we are actually using it this semester in a project to experiment with caching of telemetry charts. This initial usage has worked out extremely well. Cedric Zhang and Hongbing Kou have been doing this as part of a seminar I'm teaching this semester on Aspect Oriented Programming.


I agree with you that AspectJ is absolutely the right way to go for instrumenting the run-time behavior of a Java application without impacting on the existing code base. It does impact a bit on the development process--you have to use the ajc compiler rather than javac, and there may be compatibility issues between the various versions of Java, but all in all it seems the right hammer for this particular nail.

One thing I'm really excited about doing with AspectJ is implementing a sensor (and sensor data type) for collecting occurrences of run-time exceptions. This can be a pretty cool way to find out not only about "normal" kinds of bugs in the code, but also about usability issues--for example when a user invokes a command incorrectly in a server.

<Question 2>
Workspace Roots are notoriously difficult to get right the first time. Then they're obvious. :-)


I'm working at the moment on a rather extensive upgrade of our documentation, which will include an extended example of installing the Ant sensors and getting them working. A first draft of this is available as a lecture to my software engineering students this semester. You may want to take a look at it:

<http://csdl.ics.hawaii.edu/~johnson/413f04/11.sensors.pdf>
<http://csdl.ics.hawaii.edu/~johnson/413f04/11.sensors.ppt>

The example system referenced in these notes is available at:
<http://csdl.ics.hawaii.edu/~johnson/413f04/stack-3.3.1030.zip>

If you still can't get your stuff working, I would be happy to have a phone call with you and step you through some debugging.

Cheers,
Philip





Reply via email to