- From: David Martin <martin@AI.SRI.COM>
- Date: Tue, 13 Apr 2004 14:00:59 -0700
- To: public-sws-ig <public-sws-ig@w3.org>
- Cc: Richard Waldinger <waldinger@AI.SRI.COM>
There are cases where some characterization of a service's output will be needed
(say, by a matchmaker or planner trying to locate a service that embodies a
particular function from its inputs to its output). Here's a simple example,
involving 2 services.
---- use case:
Suppose there are 2 standard ways of computing the annual interest on a certificate
of deposit - using daily compounding or using weekly compounding. Service S1
computes it using daily compounding, and service S2 computes it using weekly
compounding. Both services have balance and rate as inputs, and the interest as output.
Now suppose there's a standard, widely-used accounting ontology that defines these
methods using OWL properties "interest_compounded_daily" and
"interest_compounded_weekly". Each of these properties has Pair(float, float) for
domain and float for range. The meaning of an instance of interest_compounded_daily:
Pair($500, 10%) interest_compounded_daily $55.10
is simply that $55.10 is the correct value of interest for the given balance and
rate, under that method of interest computation.
(Note: the challenge here isn't to somehow axiomatize these properties defined in
the accounting ontology; we're just taking them as givens.)
--- end of use case
The question at hand is:
Q1: Given the existing accounting ontology, how should an OWL-S description of these
2 services characterize their output so a planner or matchmaker can choose between
them? (Note: from the planner or matchmaker's point of view,
interest_compounded_daily and interest_compounded_weekly are primitives.)
Q2: (optional) - what's wrong with having a simple "postcondition" (or whatever you
want to call it) something like the following? (The declaration would presumably be
expressed in OWL-S with the postcondition in SWRL, as in the "Add" example, but
reverting here to a logic-programming style of notation for readability):
Process declaration: compute_interest1(+Balance, +Rate, -Interest)
Postcondition: interest_compounded_daily(Pair(Balance, Rate), Interest)
David
Received on Tuesday, 13 April 2004 17:01:32 UTC