- From: Drew McDermott <drew.mcdermott@yale.edu>
 - Date: Thu, 18 Sep 2003 14:44:59 -0400 (EDT)
 - To: www-ws@w3.org
 
With Bijan's permission, I'm forwarding his response to my puzzle.
I've deleted or replaced a couple of phrases for reasons that will
remain unstated.
                                             -- Drew
------- Start of forwarded message -------
Date: Thu, 18 Sep 2003 12:16:35 -0400
Subject: Re: Process instantiation puzzle
Content-Type: text/plain; charset=US-ASCII; format=flowed
X-PH: V4.4@mr3
Cc: daml-process@bbn.com
To: Drew McDermott <drew.mcdermott@yale.edu>
From: Bijan Parsia <bparsia@isr.umd.edu>
In-Reply-To: <200309181420.h8IEK6H22737@pantheon-po03.its.yale.edu>
Content-Transfer-Encoding: 7bit
X-YaleITSMailFilter: Version 1.1d (attachment(s) not renamed)
On Thursday, September 18, 2003, at 10:20  AM, Drew McDermott wrote:
>
<elision>
> The theory goes like this: processes have inputs and
> outputs.
In and out parameters, whatever.
>   Where these come from and where they go is not part of the
> definition of the process.  In particular, if a composite process
> C contains an invocation of process P, there's no way to know just by
> looking at the definition of C whether P is to be executed by the same
> interpreter (or "enactor") as the one executing C.
>
> Puzzle:
Yay, a puzzle.
>  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.
Fine.
> What exactly are P1 and P2?
Don't know, and don't care.
> Is each a fresh invocation of the P
> process?
Don't know and don't care *and* am comfy with that.
> Is there a worldwide P process that everyone communicates
> with (e.g., an atomic clock sitting in Geneva).
Could be.
>  Or does the
> invocation P1 create an entity that C talks to when P2 occurs?
Could be.
>  How
> are these different possibilities to be indicated?
At the binding level, to *some* degree. But even then, my understanding 
of the point of Web services is that what happens behind the interface 
is none of my business.
> If P is just a subroutine, the answers are clear.
Not at all. Inlined or not (for example).
>  P1 and P2 are
> independent invocations that create fresh processes each time.
Is fresh memory allocation part of that? What if you are using a 
flyweight pattern and recycle your objects?
>  How
> does an espouser of the [Majority] Position answer?
I answer, Don't know and don't care and don't have to.
Cheers,
Bijan "The Positionater" Parsia.
------- End of forwarded message -------
Received on Thursday, 18 September 2003 14:45:01 UTC