cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Coninx <>
Subject Re: Brakes (was: [control flow] changes and new sample)
Date Fri, 13 Sep 2002 11:21:00 GMT
On Wed, Sep 11, 2002 at 04:48:42PM +0200, Sylvain Wallez wrote:
> Tim Coninx wrote:
> We are *very serious* at using something like Brakes in Cocoon. The use 
> case is however a little bit different than Brakes : we want to 
> implement continuations, which are the capability for a program to 
> interrupt itself and be resume later in the state where it was 
> interrupted. The main difference (as far as I understand) with Brakes is 
> that program interruption is not triggered externally in our case.

Actually, this was the main reason brakes was developed. Correlate was a
project exploring the concept of 'Active Objects', object that repeat a
certain autonomous behaviour.
The main difficulty here was that a separate scheduler from the one the
JVM offers had to be used, to gain control of the scheduling of the
active objects opposed to the core system.

The first version of Brakes (which didn't have a name at that point)
required every active object to Yield (effectively calling his own
overridden yield method). This method would set the state of the active
object to 'saving' and make the instrumented bytecode return every
method in the call trace, while saving every stackframe. When the active
object is rescheduled, the state is set to restoring, and the call trace
rebuilds up to the point where the yield method was called, at which
point the state is set back to normal. Then the next instruction (the
one following the yield method) is called.

This version, which is much faster (or less slow ;-) than the last version,
is called brakes-serial (as opposed to brakes-parallel), and is included
in the main brakes release.

> >About licensing: because Brakes was abandoned so early, it is covered
> >under the same proprietary license as it's parent project, Correlate
> >
> >
> >However, (again when you are serious about using brakes into Cocoon) it
> >will be possible to decouple Brakes from Correlate and embed the
> >subproject (Brakes) into Cocoon, or at least release it seperately under
> >the APL.
> >
> We would be *very interested* in that. Is some license change possible 
> so that we can at least look at the source code ?

I'll start the administrative procedures (getting in touch with the
group leader) now. In the mean time, I'll send you (personally) the
source, so you can have a first look at it.

Tim Coninx -*- KULeuven Department of Computer Science

gpgkey @

665.9238429876 - Number of the Pentium Beast

To unsubscribe, e-mail:
For additional commands, email:

View raw message