[OWL-S] output characterization (was "new IOPE example #1")

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