- 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