- 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