[e-lang] Reference-state diagram

Mark Miller markm at cs.jhu.edu
Thu Jun 30 02:25:51 EDT 2005


Ka-Ping Yee wrote:
> I'm puzzled by the arrow from the remote promise to the broken
> reference in the figure.  [...]
> 
> What do you think of this?
> 
>       unresolved           resolved
>     .------------.       .------------.
>     |            |       |   near     |
>     |            |       |            |
>     |   local    |       |            |
>     |     ^      |------>|            |
>     |     |      |       |            |
>     |     v      |       |            |
>     |   remote   |       |   far      |
>     '------------'       |    |       |
>                          |    v       |
>                          |   broken   |
>                          '------------'
> 
> I find this logic easier to follow, and i think it represents
> all the same transitions. [...]

Your diagram above is much closer to the way I had been drawing it: See the 
diagram at the bottom of <http://www.erights.org/elib/concurrency/refmech.html>.

I changed it for this paper to emphasize the two causes of these state 
transitions (resolution vs partition), rather than simply what can turn into 
what. The loopy arrow represents all transitions caused by resolution. The 
arrow-with-two-tails represents all the transitions caused by partition. 
Either can cause a remote promise to become a broken reference, but only 
partition will cause a __reactToLostClient message to be sent.

-- 
Text by me above is hereby placed in the public domain

     Cheers,
     --MarkM



More information about the e-lang mailing list