Re: The meaning of conditional output and effect


[Drew McDermott]

>    [Yuzhong Qu]
>    Based on my understanding, it seems that:
> 
>    1) A process can have any number of outputs, the information that
>       the process provides, conditionally, after its execution.
> 
>    2) A process can have any number of effects, and effects are the
>       result of the successful execution of a service.
> 
>    3) Outputs and effects can have conditions associated with them.
> 
>    My question is as follows!
> 
>    a) What's the intended meaning of the condition associated with a
>    conditional output?
> 
>       Choice 1. if you get an output, then the condition associated
>       with the output must be true (implied).
> 
>       Choice 2. if the condition associated with an output is
>       evaluated to be true, then the output is **guaranteed** to be
>       provided by the service.
> 
>       Choice 3. Neither 1, nor 2. (The condition is just a hint)
> 
> Choice 1 AND Choice 2.  You get the output with this name if and only
> if the condition is true.
> 
> Perhaps someone else from the DAML-S group may want to correct me
> here.  Some of our papers seem to blend together the _existence_ of an
> output and the _value_ of an output.  E.g., instead of saying a
> boolean output always exists, and has a value that depends on a
> condition, we sometimes say that the output _exists_ only if the
> condition is true.  This seems like a bad convention to me, if for no
> other reason than that it works only for boolean outputs.

The above interpretation is definitely clear to me.

* The correct interpretation of the conditional output construct must be:

  An output exists if and only if the associated condition is true.
    (Choice 1 AND Choice 2)

* A possible misunderstanding may be:

  An output exists only if the associated condition is true.
    (Choice 1)

Any more comment?

>    b) In the case of mutilple conditional outputs, suppose two
>    conditions associated with two different conditional outputs are
>    satisfied in a situation, there should exist two parts in the
>    output? (or two outputs?)
> 
>    Furthermore, two different (co)conditions being simultaneously
>    satisfied are allowed? or this kind of usage is discouraged in the
>    design stage?
> 
> Again, it seems to me that there is no problem with overlapping
> conditions; but if two outputs are being used to express a single
> boolean output (in that exactly one of the two outputs exists on any
> given invocation of the service), then it would make no sense to have
> overlapping coConditions.

Is there any example to show the use case in that two outputs are being used to express a single boolean output?


>    c) What's the intended meaning of the condition within a conditional effect?
> 
> The effect occurs ("is imposed") if the condition is true.
> 
>    d) How about in the case of multiple conditional effect?
> 
> Here it seems there is no room for ambiguity: If more than one
> condition is true, then more than one effect is imposed.

Thanks for the clarification!

> 
> -- 
>                                              -- Drew McDermott
>                                                 Yale University CS Dept.
> 

Yuzhong Qu
Dept.Computer Science and Engineering
Southest University, Nanjing, China

 

Received on Thursday, 2 October 2003 23:08:42 UTC