- From: Massimo Paolucci <paolucci@cs.cmu.edu>
- Date: Tue, 16 Sep 2003 14:40:49 -0400
- To: Drew McDermott <drew.mcdermott@yale.edu>
- Cc: www-ws@w3.org, Katia Sycara <katia@cs.cmu.edu>, anupriya@cs.cmu.edu
[I had sent this message yesterday night, but for some reason it did not show up on the list] Drew and All, we spent many hours trying to understand the proposed semantics for DAML-S under the PAI hypotheses and we have a set of questions/critiques about it. As a general comment we wonder about the value of a denotational semantics as opposed to an operational semantics as it is used to describe the semantics of distributed programming languages, which faces the same types of problems that we have. This has been the guiding principle of the semantics for DAML-S that we proposed in [1]. The semantics of concurrent executions (both of different agents/web services and processes within the same process model) is difficult to represent in a denotational semantics because the domain can be modified in unpredictable ways. Indeed, your semantics is based on atree like representation that forces you to represent every case, which becomes virtually impossible when we need to represent the inherent non-determinism of concurrently running processes. For example, you are forced to make the assumption that parallel processes are "comparable and inertial.' This assumption holds for channels because only one process can write in them, but it does not hold for the complete situation which is part of the VS (valuated situation) since multiple processes may change the domain and there is no restriction on who can do what. The other problem is the representation of loops where you are presumably forced to represent every single loop as a different banch of the tree. Aside from the genral comments we have the following questions about the semantics. 1. The concept of Tag Tree was very difficult to grasp, but it seems to be equivalent to a parse tree where each node is annontated with a VSI. Also, does a Tag Tree represents one particular trace or a set of traces? This is also related to the semantics of Sequences and other constructs; why do they generate set of trees rather than one tree? 2. There is no concept of "open VSI" which does not specify what the end state is. This seems to be useful to describe processes that have not terminated yet. 3. Why the definition of meaning (p 11) is a couple <channel, denotation>, why is it not just denotation? Why can't channels be just part of the environment? 4. In the semantics of call (p. 12), you seem to mix the values and structure, because you have a set of trees that depend on the values of an atomic process, but this could be infinitly large. 5. Related to the general comment above, how strong of an assumption are you making on the inertia of parallel processes? 6. On page 8, why does piece(m,l) resets to x? 7. What are the advanages of using channels for data flow as opposed to owl:sameAs? --- Anupriya, Katia, and Massimo [1]* Anupriya Ankolekar, Frank Huch, Katia Sycara. "Concurrent Execution Semantics for DAML-S with Subtypes <http://www-2.cs.cmu.edu/%7Esoftagents/atlas/pubs/ISWC2002-ExSem.pdf>." In /The First International Semantic Web Conference (ISWC)/, 2002. * >> >> > > -----Original Message----- From: Massimo Paolucci [mailto:paolucci@cs.cmu.edu] Sent: Tuesday, September 16, 2003 10:53 AM To: Katia Sycara Subject: Re: DAML-S formal semantics I sent this message yesterday, but for some reason did not go through.... Drew and All, we spent a lot of hours trying to understand the proposed semantics for DAML-S under the PAI hypotheses and we have a set of questions/critiques about it. As a general comment we wonder about the value of a denotational semantics as opposed to an operational semantics as it is used to describe the semantics of distributed programming languages, which faces the same types of problems that we have. This has been the guiding principle of the semantics for DAML-S that we proposed in [1]. The semantics of concurrent executions (both of different agents/web services and processes within the same process model) is difficult to represent in a denotational semantics because the domain can be modified in unpredictable ways. You develop a tree like representation that forces you to represent every case, which becomes virtually impossible when we need to represent the inherent non-determinism of concurrently running processes. For example, you are forced to make the assumption that parallel processes are "comparable and inertial.' This assumption holds for channels because only one process can write in them, but it does not hold for the complete situation which is part of the VS (valuated situation) since multiple processes may change the domain and there is no restriction on who can do what. The other problem is the representation of loops where you are presumably forced to represent every single loop. Aside from the genral comment we have the following questions about the semantics. 1. The concept of Tag Tree was very difficult to grasp, but it seems to be equivalent to a parse tree where each node is annontated with a VSI. Also, does a Tag Tree represents one particular trace or a set of traces? This is also related with the semantics of Sequences and other constructs, why do they generate set of trees rather than one tree? 2. There is no concept of "open VSI" which does not specify what the end state is. This is seems to be useful to describe processes that have not terminated yet. 3. Why the definition of meaning (p 11) is a couple <channel, denotation>, why is not just denotation? Why can't channels be just part of the environment? 4. In the semantics of call (p. 12), you seem to mix the values and structure, because you have a set of trees that depend on the values of an atomic process, but this could be infinitly large. 5. Related to the general comment above, how strong of an assumption are you making on the inertia of parallel processes? 6. On page 8, why does piece(m,l) resets to x? 7. What are the advanages of using channels for data flow as opposed to owl:sameAs? --- Anupriya, Katia, Naveen and Massimo [1]* Anupriya Ankolekar, Frank Huch, Katia Sycara. "Concurrent Execution Semantics for DAML-S with Subtypes <http://www-2.cs.cmu.edu/%7Esoftagents/atlas/pubs/ISWC2002-ExSem.pdf>." In /The First International Semantic Web Conference (ISWC)/, 2002. * Drew McDermott wrote: >>I volunteered to produce a surface syntax and formal semantics for the >>revamped DAML-S in which processes are individuals (not classes). >>Here is the result, as a raw LaTeX file and a postscript version. >>Comments are more than welcome. This version no doubt contains >>several bugs and omissions, some which I disarmingly admit to in the >>text. Let me know about any others. >> >> >> >> > > Drew McDermott wrote: >I volunteered to produce a surface syntax and formal semantics for the >revamped DAML-S in which processes are individuals (not classes). >Here is the result, as a raw LaTeX file and a postscript version. >Comments are more than welcome. This version no doubt contains >several bugs and omissions, some which I disarmingly admit to in the >text. Let me know about any others. > > > >
Received on Tuesday, 16 September 2003 17:11:25 UTC