Re: Process instantiation puzzle

   [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.

Judging from this and other things you've said, I'm guessing you're
adopting the Anthropomorphic Stance.  That is, you're visualizing P as
an entity that exists, minds its own business, lives and lets live,
and occasionally gets messages that it feels compelled to respond to.
Fine.  We can have *all* processes be like that if you want.

But P may be getting messages from many different agents
simultaneously.  It must keep track somehow of which messages are
starting a new conversation and which are following up an old one.  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.
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.) 

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

-- 
                                             -- Drew McDermott
                                                Yale University CS Dept.

Received on Friday, 19 September 2003 16:59:56 UTC