Re: OWL-S preconditions - practical issues

Quoting Donal Murtagh <domurtag@cs.tcd.ie>:

> On Fri, 2004-06-25 at 17:57, Jeff Dalton wrote:
> > Quoting Donal Murtagh <domurtag@cs.tcd.ie>:
> > 
> > > The problem with planners is that compatibility of preconditions and
> > > effects is based on (lexical) name matching. Although SHOP2 can
> > > evaluate simple expressions such as ((eval (< ?n1 5)) in the
> > > precondition of an operator, AFAIK, it is not possible to assert
> > > an effect which is a conditional expression, e.g. to state that
> > > "the effect of this process/operator is that (< ?n1 5) is true".

> > Something like that could be treated in a planner as a constraint.

> It seems the term "constraint" doesn't mean the same to you as
> "precondition", could you explain what you mean by "constraint"?

I think of a precondtion as something that has to be true
before a service can be invoked (if we're thinking of
planning operators as representing services, for example),
while an effect is something the service invocation makes true.

A constraint could be used in either way; but what I had
in mind was that an operator could have (< ?n1 5), not as
a pre-condition, but as something that would be asserted,
if the operator were used, as something that was true
after the service invocation.  Other constraints might
allow a more precise determination of the value, but it
would have to be less than 5.

I'm not sure that's enough to make it an effect as such,
rather than some kind of post-condition, because presumably
the way it's made true that ?n1 is < 5 is by giving ?n1
some specific value that is less than 5, and it's giving it
that value that's the effect, strictly speaking.

(Perhaps other people can comment on that, because I'm not
sure what the right way of thinking is.)

> > I don't know off-hand of any planner that handles such numeric
> > constraints, though some resource constraints might be equivalent.

One problem for a planner is that if it wants, say, ?n1 to be
less than 10, one way to get that is to use something that makes
?n1 less than 5, and that requires a reasoner that could make
such connections.

-- Jeff

Received on Friday, 25 June 2004 18:12:15 UTC