- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Thu, 4 Oct 2001 11:49:31 -0400 (EDT)
- To: www-ws@w3.org
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