- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Wed, 21 May 2003 16:39:57 -0400
- To: Stanislaw Ambroszkiewicz <sambrosz@ipipan.waw.pl>
- Cc: sam@ksl.stanford.edu, www-ws@w3.org, agarwal@aifb.uni-karlsruhe.de
Stanislaw,
Why are you saying that your approach is akin to Prolog? I don't see
anything specifically Prology in it.
But, in any case, I don't think that what you want to do requires a new
architecture for Web services (as somebody said in a followup email).
Instead, there can be another service which takes user goals as input
(something like "I want to buy a book of J.R.R. Tolkien") and it comes up
with a plan that includes a few steps one of which is contacting the book
service and the other filling out the order.
Talking to this planning service seems to account for your conversation
phase.
--michael
>>>>> Message from Stanislaw Ambroszkiewicz <<sambrosz@ipipan.waw.pl> > writes:
> Dear Sheila,
> You wrote:
> "The DAML-S process model is still a declarative description of a process.
> Nevertheless the process is described in terms of procedural programming
> language/workflow constructs such as "if-then-else", "while" etc.. As
> such, you can reason *about* the workflow/process using the DAML-S process
> model description. This description provides the requester with
> the building blocks to have a conversation with the service -- an
> exchange of messages. A composite process can have many possible
> execution trajectories, depending upon what messages are exchanged
> (imagine all the different executions you could have with amazon.com,
> depending upon what answers you gave to questions posed by the service).
> By providing this composite process model, a requester can analyse what
> answers it should give to questions to achieve a desired outcome. This
> is important for automated composition tasks, among other things. "
> My reply:
> There is another way to realize this using "pure"
> declarative approach like in Prolog.
> In this case "a composite process" has exactly one
> "execution trajectory", however it has two phases:
> Query phase, and execution phase.
> This may be sketched as follows.
> Query phase:
> The requester specifies its "desired outcome", e.g.,
> "I want to buy a book of J.R.R. Tolkien".
> In the cyberspace it means that "an invoice for a book
> of Tolkien is delivered to the requester".
> The "desired outcome" must be expressed in a common
> generic conversation language.
> (As far as I know there are no means to express
> explicitly the "desired outcome" in DAML-S)
> The "desired outcome" is sent to bookstore.com.
> The bookstore.com has a look at its database and replies:
> "I will send you the invoice for a book of Tolkien, if
> you send me an order where:
> The title is 'The Lord of the Rings' and the price is 60 euro and ...
> or
> the title is 'Hobbit' and the price is 30 euro and ...
> ...
> This completes more or less the query phase.
> Execution phase:
> Once the requester receives the reply from the bookstore.com,
> it creates the order according to the options delivered by
> bookstore.com, fills some additional personal data to
> complete the order, and sends the order to the bookstore.com.
> (Of course, the choice made by the requester determines the
> execution path. However, it is done only by the requester
> who delivers the initial resources)
> The bookstore.com creates appropriate invoice and sends it
> back to the requester.
> This completes more or less the execution phase.
> Note that transactions is missed, however it is no problem
> to extend this approach with a transaction phase.
> As to "the service type" I will explain my view in the next
> email if it is still of interest.
> Best regards,
> Stanislaw,
> -- Stanislaw Ambroszkiewicz
> http://www.ipipan.waw.pl/mas/
Received on Wednesday, 21 May 2003 16:50:25 UTC