Re: Process instantiation puzzle

On Friday 19 September 2003 16:30, Bijan Parsia wrote:
> An aside: I conclude from Drew's lack of response that I can declare
> victory :)

Congrats :-)

Well, i think, Drew should define his Puzzle more clearly to avoid ambiguity 
in the interpretation of terminology. 

My questions to Drew:
1. What are C, P and Q?
2. What do you mean by a global and local time clock? In my opinion a global 
time clock is something different than a global process. Do you agree with 
that?
3. What do you mean by the entity that the first invocation of P creates?

Regards
Sudhir

>
> On Friday, September 19, 2003, at 02:38  AM, Sudhir Agarwal wrote:
> [snip]
>
> >> 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.
> >>
> >> What exactly are P1 and P2?  Is each a fresh invocation of the P
> >> process?  Is there a worldwide P process that everyone communicates
> >> with (e.g., an atomic clock sitting in Geneva).  Or does the
> >> invocation P1 create an entity that C talks to when P2 occurs?  How
> >> are these different possibilities to be indicated?
> >
> > in my opinion, it depends on, who is controlling the execution of C.
>
> I disagree. It depends on 1) what services the process occurances
> actually get instantiated to, and 2) how the service provider
> implements the advertized semantics.
>
> Someone, somewhere, has to care about 1. Someone, sometimes, other than
> the provider, might care about 2 but it may typically be the case that
> she can't know anything and needn't be bothered by the fact.
>
> I am, of course, assuming that the semantics of these various
> alternative Drew puts forth all respect the semantics of the
> description under which P was selected. Indeed, if P was abstract, I
> can see P's occurences being bound to services from *two different
> providers*.
>
> > In case
> > the execution of C is centrally controlled, for example by the
> > provider of C,
> > then one can assume a global clock (clock of C's provider).
>
> Seems like a wildly faulty assumption to me? Unless you mean that it
> doesn't matter which way you assume?
>
> > If the execution
> > is distributed, that is each participant (provider of component
> > services)
> > executes "his" part of the run independently of other participants,
> > then one
> > should assume each participant having a local clock and no global
> > clock.
>
> Huh? They could all use the same clock. Why couldn't they?
>
> > In
> > this case, each participant works sequentially (total order), whereas
> > the
> > whole run is executed concurrently (partial order).
> >
> > Spontaneously i would say that each invocation of P is a different
> > instantiation.
>
> [snip]
>
>  From the composite process POV, there's certianly some sense in which
> we regard it as such (different process occurances). But I don't see
> why we have to percolate this down.
>
> Take a simpler example. I do a series of GETs on an URI. I have NO CLUE
> whether I'm getting a single web server, something out of a farm,
> something from an intermediate cache or proxy. Nor do I care. Nor
> should I, in most cases.
>
> I certianly can *build* some of these distinctions in, perhaps, but the
> possibility of don't know, don't care needs to be preserved, and is
> probably the default.
>
> So this is how I understand the Service Oriented Architecture model.
>
> Cheers,
> Bijan Parsia.

Received on Friday, 19 September 2003 11:12:28 UTC