[e-lang] VatTP and Waterken protocols compared

Kevin Reid kpreid at mac.com
Sat Sep 20 06:01:46 CDT 2008


On Sep 19, 2008, at 20:54, Bill Frantz wrote:

> Tyler described some of the Waterken protocol in this Friday's
> morning meeting. Here are some notes from his description.
>
> Both the VatTP protocol part of E on Java
> <http://www.erights.org/elib/distrib/vattp/index.html>, and the
> Waterken protocol <http://waterken.sourceforge.net/> allow vats to
> send messages to other vats. There are some significant differences
> in their implementation which affect their behavior during
> checkpoints and during message flood conditions.
>
> In VatTP, messages are sent as soon as they are generated.

It may fall out of future implementations that messages are sent only  
after the turn which generates them; in particular, this means that  
messages from an infinite or crashing turn will never be seen.

> Both systems only save persistent state between vat "turns". It is
> not clear from the (non)documentation if the vat queue is included
> in what is saved by the persistence mechanism. (And I can't
> remember that detail.)

Persistence is of objects; the vat queue is not exposed as an object;  
therefore it is not persistent.

More specifically than that's-the-way-it-isn't:

E has a general object serialization module, and a module for using it  
for vat persistence (timeMachine). The root of persistence is the  
table of incoming SturdyRefs; that is, any non-ephemeral SturdyRef  
created causes its referent to be persisted. (Note that it is possible  
to abuse this mechanism to add persistence roots and therefore on- 
revival actions, by simply not publishing the SturdyRef after it's  
created.)

-- 
Kevin Reid                            <http://homepage.mac.com/kpreid/>




More information about the e-lang mailing list