Excellent.
Thanks for releasing this code.

Stef

> I announce the first availability of the Jejak trace framework at
> 
> http://ss3.gemstone.com/ss/Jejak.html
> 
> During the VALMADEO project (a PRIR/Région Bretagne funded project directed 
> by C. Dezan, <de...@univ-brest.fr>), we needed a tool to study in detail how 
> some algorithms (error correcting codes) could work without errors, but with 
> degraded performance. Execution and compilation would report no errors, but 
> the performance of the error correcting coding and decoding would be several 
> dB below the target. The error correcting code was looping hundreds of times 
> over each block of data, making step by step debugging unusable. Profiling, 
> message tallies were too coarse to tell us anything. We needed a different 
> tool.
> 
> The answer was this trace tool : a framework for injecting probes into 
> methods, and record their execution. It can record an execution to the 
> smallest detail (all calls, all values, all assignments), that over a long 
> sequence (hundreds or thousands of calls), and let one navigate freely 
> through the recorded trace along with the traced source code. It is capable 
> of tracing system, startup or display methods, without interruption or 
> blocking the overall image, allowing for very fine non-intrusive system 
> analysis.
> 
> It has been used for debugging turbo codes implementations, algorithm 
> understanding on turbo codes, and memory behaviour analysis for embedded 
> systems design space exploration.
> 
> It requires The Opal compiler and is integrated with OmniBrowser, and is 
> tested in a Pharo 1.4 image. Instructions for loading are :
> 
> Gofer it
>    squeaksource: 'MetacelloRepository';
>    package: 'ConfigurationOfOmniBrowser';
>    load.
> 
> (ConfigurationOfOmniBrowser
>    project version: #stable) load: #( 'Dev' 'Dev Tests').
> 
> Gofer new
>     url: 'http://smalltalkhub.com/mc/MarcusDenker/Opal/main';
>     package:'ConfigurationOfOpalCompiler';
>     load.
> 
> (Smalltalk at: #ConfigurationOfOpalCompiler) load.
> 
> Gofer new
>    repository: 'http://ss3.gemstone.com/ss/Jejak';
>    load
> 
> There is a lot left to be done (better event logging, out of image logging, 
> performance issues), but, as it is, it can be used for tracing almost any 
> code in the image, even ones which may lock-up the image when halted (beware 
> : bugs in the tracer may still lock or crash the image). It is also a very 
> pedagogic way of seeing a full execution through a set of methods.
> 
> Thierry
> -- 
> Thierry Goubier
> CEA list
> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
> 91191 Gif sur Yvette Cedex
> France
> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
> 
> 


Reply via email to