[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [moca] all-you-can-eat calculi
I forgot to add this to my last response: If one has a synch broadcast
implementation, why can't one implement the "all-you-can-eat" calculus
by the dualizing translation where every send becomes
a receive and every receive becomes a send? Is there some asymmetry
in your notion of observation that this translation is not meaning
preserving?
> thanks to all who replied to my query. some further comments below.
>
> martin
>
> -------- From: Uwe Nestmann --------
>
> > MB> i call it "all-you-can-eat" -- where one input consumes
> > MB> as many outputs as possible in one go.
> >
> > Do you mean "as many as available" or "as many as wanted"?
>
> the former, but i suspect that both share features.
>
> > MB> x.P | \overline{x} | ... \overline{x} ---> P
> >
> > "As many as available" is not expressed by this rule alone,
> > because it does not enforce it, but only enables it.
>
> that's true. i didn't want to burden my post with too much formal
> detail. in addition, "As many as available" can be achieved by various
> formal means, none of which has emerged as a clear favourite.
>
> > Apart from this, you may want to look into the (early?)
> > works on LOTOS,
>
> thanks, i shall have a look.
>
> -------- From: Pawel Wojciechowski --------
>
> > > one input consumes as many outputs as possible in one go.
> >
> > why only one, not all inputs on 'x' ? :-)
>
> that's an interesting question. the application i have in mind needs
> exactly one input on x interacting with arbitrarily many outputs on
> that channel. i use a typing system to models this, starting from an
> untyped calculus that allows to have many inputs on x in
> parallel. there are various ways one can set up the semantics for
> multiple parallel inputs, but they all resolve to the same behaviour
> for the restriction to unique inputs.
>
> > not sure if useful (probably not) but perhaps you might
> > think of distributed algorithms with unknown number
> > of processes (that can dynamically join/leave/crash/
> > migrate in ad-hoc networks etc.)
> >
> > e.g. a distributed consensus algorithm accepts a number
> > of outputs (each with a possibly different value) and
> > completes by reducing some number of inputs (each input
> > consumes exactly the _same_ value, chosen from those that
> > were output).
>
> thanks, this is very interesting. so you are saying, each process
> nondeterministically chooses to output a number on x. if all numbers
> coincide the interaction happens between all outputting participants
> and the receiver(s)? i see a little problem with this: either
>
> * the set of numbers to be used is finite, in which case the
> algorithm has a scalability limit and is not compositional, or
>
> * it is unlimited. then all participants may agree on a number that
> does not correspond to an existing process, which means the
> election needs to be redone. but then it may fail again etc leading
> to the possibility of divergence.
>
>
> -------- From: GOUAICH Abdelkader --------
>
> > Can't you already express this by the (infinite) recursion operator?
>
> I'm not sure how to do this in a compositional way
>
>
>
>
>
>
>
>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> The "models for mobility" mailing list mailto:moca@xxxxxxxxxxxxxxx
> http://www-sop.inria.fr/mimosa/personnel/Davide.Sangiorgi/moca.html
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The "models for mobility" mailing list mailto:moca@xxxxxxxxxxxxxxx
http://www-sop.inria.fr/mimosa/personnel/Davide.Sangiorgi/moca.html