RE: Multiparticipant processes

Drew,

The way this is being viewed is through a distinction between a public
process and some number of private processes.  The public process specifies
the overall protocol being supported - such as that the customer can
complain about the room, not necessarity why (complaining is a public move,
sniffing the room a private one). In a sense, mutual rights and obligations.

The private process doesn't need to be _derived_ from the public one, but it
must respect it - the customer can't start jumping up and down on the desk
and not expect to be considered an aberrant process to be garbage collected
by local process enforcement.  So, from the public process one can derive
interfaces for the various participants.  Private implementations of any
role can add all the additional private moves they want, so long as they
don't break the overall contract.

I believe the real world has already provided us with a very important use
case for the neutral description - it's called the "contract" and is used
extensively by carbon-based agents to provide a neutral and legally
enforceable protocol governing the private processes of agents.  Web
services, and ecommerce generally, will be very limited if they cannot
support this use case.

Matthew

> -----Original Message-----
> From: Drew McDermott [mailto:drew.mcdermott@yale.edu]
> Sent: Thursday, October 04, 2001 8:50 AM
> To: www-ws@w3.org
> Subject: Multiparticipant processes
> 
> 
> 
> Here are some notes on multiparticipant processes that are a followup
> to last week's DAML-S telecon.  If this is hitting the wrong issues,
> I'm sure someone will let me know!
> 
> Notes on Multiparticipant Processes
> 
> Many, if not most, processes seem to involve more than one
> participant.  (Exactly what counts as a participant is not clear, but
> I will assume the category is confined to agent-like systems that
> communicate and make decisions.)  The question is, What difference
> does it make how many participants there are?
> 
> We can distinguish between two views of a process: egocentric and
> neutral.  A neutral view specifies the behavior of all participants in
> equivalent terms.  An egocentric view specifies how *I* am to take
> part in the process.  My behavior is specified by giving actions that
> I should perform.  The behavior of other agents is specified by
> explaining what I should expect from them, how I am to tell what they
> are doing, how I should react to different actions I observe them
> performing, and so forth.
> 
> Example: Checking into a hotel might be specified by saying:
> 
> Neutral:
> 
>    There are three role-fillers: customer, desk clerk, bellhop.
> 
>    Desk clerk is behind desk.  Bellhop can be contacted by desk clerk
>    when needed.
> 
>    Customer approaches desk, asks desk clerk for room.
> 
>    Desk clerk tells customer available rooms and prices.
> 
>    Customer decides which, if any, he wants to take.
> 
>    etc.
> 
> Customer-centric:
> 
>    Approach desk, ask for room.
> 
>    Expect person behind desk to be desk clerk.  Ask that person for
>    room.  (Exceptions: No person behind desk, ...)
> 
>    Expect that person to tell you available rooms and prices.
>    (Exception: person is unable or unwilling ....)
> 
>    Compare prices to budget, check if nonsmoking room is 
> available ....
> 
>    etc.
> 
> Bellhop-o-centric:
> 
>    Hang around until contacted by desk clerk.
> 
>    Go to front desk.
> 
>    Expect to have customer pointed out.
> 
>    parallel(Expect to be told customer's room number;
> 	    Expect to have customer's baggage pointed out)
> 
>    ...
> 
> Desk-clerk-o-centric:
> 
>    etc. etc.
> 
> 
> Although there is a certain clean economy to the neutral
> representation, we really can't say that it is better until we know
> what we want to do with process descriptions.  I can think of a long
> list of things we might want to do, but historically almost all effort
> has been concentrated on the task of "executing" a process
> description, that is, getting it to happen.  For this task, the
> egocentric representation from the point of view of the agent
> executing the process seems like the obvious representation, and
> that's what the planning literature almost always assumes.  The only 
> exception is plan recognition, in which an uninvolved observer tries
> to figure out what some other agents are doing, i.e., which process
> they are causing to occur.
> 
> Is there a way of deriving an egocentric representation from a neutral
> one?  I am somewhat skeptical about this, from both a logical and
> practical point of view.  The main problem is that there are
> ego-centered facts or subprocesses that may be difficult or impossible
> to derive from the neutral facts.  The hotel customer expects the desk
> clerk to respond in a certain way, but the neutral representation
> doesn't say how he is to know that the clerk has responded.  In this
> case it doesn't seem too difficult to figure it out, but what about
> the customer's expectation that the clerk will give him a no-smoking
> room if one is available and he asks for one?  The neutral description
> is:
> 
>    customer asks for no-smoking room
>    desk clerk selects no-smoking room and tells customer room number
> 
> Does the neutral description have to spell out that when the customer
> reaches the room and smells stale tobacco smoke he will object that
> his request wasn't satisfied?  Presumably not, but if someone cares
> about this issue his own egocentric description may well include a
> step "Smell room" after he enters the room.
> 
> Another example:  A neutral description of a simultaneous chess match
> between Kasparov and 100 patzers might say:
> 
>     repeat until all games are over
>       repeat for i = 1 to 100
> 	 if game i is not over
> 	   patzer i makes mediocre move in game i
> 	   Kasparov makes brilliant move in game i
> 
> But patzer i's egocentric description does not mention making a
> mediocre move; it just says, "Make the best move you can think of in
> the time alloted."  Kasparov's egocentric description says much the
> same thing.
> 
> This example raises another interesting issue.  From the patzer's
> point of view the goal is to beat Kasparov.  So from his point of
> view, there are really two processes being executed: Play chess with
> Kasparov (a cooperative enterprise) and Beat Kasparov (an adversarial
> one).  The patzer doesn't expect to beat Kasparov, but that just means
> the process will fail.  Its execution can be begun, though.  In this
> case the neutral process description gets away with ignoring the
> adversarial process(es) altogether.  
> 
> I am not sure whether this is a practical issue or a logical one.  In
> principle we could view the "correct" neutral description as spelling
> out a complex interaction of adversarial and cooperative processes,
> from which the behavior described above emerges.  Practically,
> however, we might well prefer the simple representation, and avoid
> getting into the details at all.  In some cases it's impossible to get
> into the details.  For instance, when I see a cricket match I use a
> neutral analysis in which various participants dressed in quaint
> uniforms do things like throw the ball in a funny way, and attempt to
> hit the ball with a funny bat, and run from one stick to another.  I
> know there is another level of description in which these participants
> resolve into two teams pursuing contrary goals.  But that level is
> inaccessible to me.  (In fact, as far as I can tell cricket is a
> steady-state activity; whenever I observe a cricket game it always
> seems to be in approximately the same phase.  While I can predict that
> the participants are not going to go to sleep or start reading the
> Times Literary Supplement, I don't really know what would make them
> declare the activity at an end.)  It's possible that there is always
> in principle a "correct" level of description from which all other
> representations can be derived, but (a) I doubt it; and (b) we seem to
> do fine with coarse-grained representations.
> 
> My conclusion from these speculations is that egocentric
> representations are the obvious way to go until someone comes up with
> an important application of neutral representations, or shows that for
> some central special case (such as web services) you can derive the
> egocentric representations for all participants from a neutral
> representation.
> 
>                                              -- Drew McDermott
> 
> 
> 

Received on Wednesday, 10 October 2001 13:57:57 UTC