Re: Meaning

      [Drew McDermott (Mon, Jun 23 2003)]
      It's not clear that the same language is used both to 
      express requests and describe what the service does.  
      We could view WSDL+SOAP as a candidate, but it's 
      precisely because we're stuck at that point that
      we have to open our minds to new possibilities for the
      service-description language.

It is a bit more complex because there are two different 
worlds and two different languages that describe requests
and what services do. 
Let's consider the following picture:


human      |   |                                |       |   human
world      |   |           ws-world             |       |   world
------------   ----------------------------------       ----------
user's     |   | agent's              operation |web    | 
request -> |GUI| goal  -> matching <-      type |service|-> effect
           |   |                                |       |


User's request describes user's intention, i.e., 
what is to happen in the human world.  
Effect of the service describes what the service does on 
the side of the human world. 
They may be expressed in a language that describes the 
human world. 

User's request is translated (by GUI) into the language of 
ws-world as agent's goal, whereas what the service does 
is also expressed in the language of ws-world and exposed 
as operation type of this service.  

Hence, what service does is described in two ways in two 
different languages describing different worlds. 
The same is with user's intention; it is described as 
user's request in the human world, and as agent's goal 
in the ws-world. 
      
      [Drew McDermott (Mon, Jun 23 2003)]
      I don't understand this paragraph.  I don't see 
      why there must be a "semantic equivalence" between 
      a request and the operations that realize it.  
      There might be more than one way (more than one set 
      of operations) to satisfy a request.  The point 
      about semantics being "always in the human world" 
      I might grant, but is that the same as knowing what 
      services perform?  I thought the whole point of
      web-service discovery and composition is that the 
      humans and their agents, who are looking for services, 
      _don't_ know what services are out there. 

The "semantic equivalence", between a request and the 
(types of) operations that realize it, is meant that 
once unfolded (by substitution of a complex concept by 
its definiendum) they contain the same URI names. Of course, 
there may be several ways to unfold request formula and 
operation type formulas, so that what I mean is there is 
an unfolding of the request and of operation types that 
have the same URI names. 

There are several levels of abstraction for describing 
what service does in ws-world. The most abstract level is 
by a name of function. Such function names may be introduced 
(defined) to the ws-language. The second level is by type of 
operation that consists of two formulas: precondition and 
postcondition. The postcondition expression contains the name 
of the abstract function. The third level is by operation; 
it is a procedure or method (in a programing language) 
implementing this very operation type. The fourth level is 
service itself that exposed this procedure for public use, so that 
the service has communication address, uses a common protocol 
for exchanging messages, passing data, etc.

      [Drew McDermott (Mon, Jun 23 2003)]
      Here we basically agree.  I doubt there is a 
      machine-readable semantics, and you propose 
      that symbols are given meanings by being 
      standard URIs.  Another way to put it is that 
      URIs behave like proper names.  They aren't 
      defined in terms of anything else; they just get
      attached to their denotations and stick to them.  
      My description is just as empty as yours!  
      Fortunately, the fact that no one yet understands 
      how proper names work does not keep them from 
      working, even when used by computers.

I don't think it is the end of the story. Once we grasp how 
URIs behave like proper names (I have proposed a solution), 
the next step is to develop a language of ws-world by defining 
relations; it is natural and more convenient for reasoning. 
Note that all that can happen in the ws-world can be expressed 
in terms of data types and functions, so that also relations 
must be defined (once unfolded) in these terms. Hence, we 
could develop language defining and using more and more 
sophisticated concepts having their "meaning" precise by 
keeping chains of URIs that end up with names (also URIs) 
of primitive datatypes and functions. 

It seems that this language development can be done in a 
distributive way due to the URI names, i.e., anyone can 
introduce (define) his / her own concept to the language 
according to some common rules. 

-- Stanislaw Ambroszkiewicz 

Received on Tuesday, 24 June 2003 14:43:29 UTC