Re: Process instantiation puzzle

On Friday, September 19, 2003, at 04:59  PM, Drew McDermott wrote:
>    [me]
>>  Suppose C sends a message to P two or more times, at least on
>> some runs, e.g.:
>>
>>    C = (seq (P) (if Q then ... else (P)))
>>
>> I've suppressed the actual dataflow, but assume that C is sending data
>> to P and getting some back.  With respect to a run of C in which Q is
>> false after C interacts with (P), let P1 be that first interaction,
>> and P2 be the second.
>
>    [Bijan Parsia]
>    Fine.
>
>> What exactly are P1 and P2?
>
>    Don't know, and don't care.
>
> *Someone* has to decide somewhere, sometime.

Oh, I see. That's fine :) I even agree.

> Judging from this and other things you've said, I'm guessing you're
> adopting the Anthropomorphic Stance.

Can I guess that you've conceded victory to me? :)

>   That is, you're visualizing P as
> an entity that exists, minds its own business, lives and lets live,

Uh. Well, introspection reports no such thing. But ok.

> and occasionally gets messages that it feels compelled to respond to.

This latter bit sounds more close to my understanding.

> Fine.  We can have *all* processes be like that if you want.

Well, uh, is this my choice? This is pretty much what a SOAP/WSDL web 
service *is*, or is trending toward, AFAICT.

> But P may be getting messages from many different agents
> simultaneously.

Yes.

>   It must keep track somehow of which messages are
> starting a new conversation and which are following up an old one.

Yep.

>   I
> take it that the Anthropomorphic Stance holds that it's the _content
> of each message_ that determines which conversation it's a part of.

Well, I don't know. Are the headers part of the content? If I set up a 
session, is that part of it?

But sure, why not?

> The parts of a message that determine such things might be called
> "correlation tokens."  (Maybe that's exactly what they're called; I
> know the word "correlation" is used in a way relevant to my
> puzzlement.)

Ok.

> So my followup question is: Where in DAML-S (if anywhere) do we
> specify the correlation tokens in messages?

We totally punt on that. I regard this as a problem.

In the stabs I've made at distributing control structure, I've run into 
this issue. I suspect it happens even if you retain the "single 
controlling interpreter with rpc calls", except I think that either the 
rpc calls are in fact stateless, or coordination is left to other 
mechanisms.

Cheers,
Bijan Parsia.

Received on Friday, 19 September 2003 21:55:30 UTC