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 Thursday, 4 October 2001 11:49:42 UTC