W3C home > Mailing lists > Public > www-ws@w3.org > September 2003

Re: DAML-S formal semantics

From: Massimo Paolucci <paolucci@cs.cmu.edu>
Date: Tue, 16 Sep 2003 14:40:49 -0400
Message-ID: <3F675931.8070406@cs.cmu.edu>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:44 GMT