Re: Conditional in DAML-S

   [Charlie Abela]
   Is it possible, in the process model, to describe a service who's
   output/effects are conditioned by a conditional statement? That is,
   given a certain value for that condition an outputs/effect A is
   produced while given another value, an output/effect B is produced.
   I know that there is the if-then-else construct but it is used in
   case the condition regards a choice between two processcomponeents
   and not outputs/effets.

DAML-S has conditional effects and conditional outputs for atomic
processes (as well as composite ones).  An atomic process has no
internal structure, so it can't use an if-then-else to describe
conditional outputs and effects.

There is some question about how the presence of conditional outputs
affects a grounding to WSDL, which doesn't have them.

   The class Condition as described in the process model is still
   undefined since it is expected that DAML+OIL or OWL will be used to
   describe it more fully.  Will this problem be solved by having a
   mathematical ontology that defines mathematical relations such as
   =, >, < etc? Or is it the case that rules have to be introduced to
   solve this problem?

I think the consensus is that conditions should be describable by RDF
structures, using Decker's TRIPLE system, the DRS system developed by
me and some other people, or RuleML (layered on top of RDF).  All of
these systems represent atomic formulas roughly thus:

   <atomic-formula>
       <predicate>R</predicate>
       <leftarg>A</leftarg>
       <rightarg>B</rightarg>
   </atomic-formula>

with various gimmicks for non-binary predicates.  The key point is
that the atomic formula R(a,b) can't be represented as the triple 
[a R b] because then there would be no way to refer to it without
asserting it.

One alternative to this layering device is to extend RDF as CWM does,
by providing an explicit notation for referring to triples without
automatically asserting them.

Another alternative is to do what BPEL4WS does, which is to punt and
make conditions be strings with their own internal syntax, which
somehow relate to the XML around them.  If you're going to do that,
you might as well make the whole language have its own syntax.  See
below. 

   The definition of the condtionaloutput and conditionaleffect in the
   process model is somewhat cumbersome to define. Since work is being
   done on the PAI model of DAML-S can such issues be tackled to make
   these more readable. It would be quite an advantage for both
   developer creating ontologies and tools to automatically generate
   them and also for the less expert user.

PAI helps a lot, but RDF is just intrinsically verbose.  I'm not sure
what you mean by "tools to automatically generate them," but it would
not be hard to produce a nice simple syntax for processes, and have
the RDF versions be generated by computer.  My recent postings on PAI
surface syntax address this issue.

-- 
                                             -- Drew McDermott
                                                Yale University CS Dept.

Received on Thursday, 11 September 2003 13:48:40 UTC