Re: Effects in OWL-S

> [Charlie Abela]
> So can someone explain what an effect actually refers to and how will users
> (possibly not technical enough to understand the difference) know what an
> effect represents and which effect to attach to some WS description?
> Cause as described in OWL-S up to now it is still unclear how this thing can
> be handled.

An effect looks a lot like a proposition.  The simplest case is
something like ecom:own(me:me, art:Mona-Lisa): if an action is taken that
has this effect, then after that action I will own the Mona Lisa.
The surface notation will look exactly like that.

The deep notation will look more like this:

   <drs:Atomic_Formula>
      <rdf:subject rdf:resource="&me;me"/>
      <rdf:predicate rdf:resource="&ecom;own"/>
      <rdf:object rdf:resource="http://www.louvre.org/works#Mona-Lisa"/>
   </drs:Atomic_Formula>

or maybe this:

   <swrl:PropertyAtom>
      <swrl:Object rdf:resource="&me;me"/>
      <swrl:Property rdf:resource="&ecom;own"/>
      <swrl:Value rdf:resource="http://www.louvre.org/works#Mona-Lisa"/>
   </drs:Atomic_Formula>

(The SWRL site is down right, now, so I'm guessing about the details
here). 

There is an issue about the ontological status of expressions like
this.  In OWL-S-Full, we can be fairly casual about such things, but
in OWL-S-DL we would probably wrap the effect in an "XML Literal"
package, thus allowing us to hide non-DL stuff.  (The terms OWL-S-Full
and OWL-S-DL I just made up, but I wouldn't be surprised if we wound
up with two different dialects.)

Effects differ from conditions in various ways:

* Effects are not true or false; they are _imposed_ or not imposed.
  An ordinary atomic formula is imposed by making it true in (that is,
  adding it to) the db representing the next situation.

* The expression (not p) means "Delete p," or "Erase p from my db," or
  "Make p false." 

* The expression (when p q) means, "If p is true before the action
  with this effect, q is imposed after."

* The expression (increase f a) means, "Increase fluent f by amount
  a," as in (increase (money-flow me barnes&amp;noble) (dollars 35)).
  Similarly for 'decrease' and 'assign'.

* The expression (forall (x) (when p[x] q[x])) means, "For every
  object x you can think of satisfying p[x] before the action is
  taken, impose q[x] after."

* A disjunction in an effect is interpreted as nondeterminism.  It's
  not clear how existential quantifiers are to be understood.  There
  probably should be a new quantifier: (new (x) p[x]) means, "A new
  object satisfying p comes into existence."  An ordinary existential
  could then be interpreted nondeterministically.

This is probably irrelevant to what we really need to know, which is
how the effects of web services are to be expressed.  Here we have
notions such as "The effect is that the agent knows something it
didn't know before," or "The effect is that the agent owns three dozen
more donuts then it did before."  Representing these things opens up
some interesting new KR challenges.

                                             -- Drew

-- 
                                             -- Drew McDermott
                                                Yale University CS Dept.

Received on Monday, 19 April 2004 15:14:05 UTC