- From: Stanislaw Ambroszkiewicz <sambrosz@ipipan.waw.pl>
- Date: Tue, 24 Jun 2003 20:43:23 +0200 (CEST)
- To: drew.mcdermott@yale.edu
- Cc: www-ws@w3.org, sambrosz@ipipan.waw.pl
[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