<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>999</bug_id>
          
          <creation_ts>2005-01-10 15:58:18 +0000</creation_ts>
          <short_desc>Short Circuit Evaluation</short_desc>
          <delta_ts>2005-08-03 13:40:27 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WS Choreography</product>
          <component>Last Call Comment: Confirmed Closed</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 2000</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://lists.w3.org/Archives/Public/public-ws-chor-comments/2005Jan/0002.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>--</target_milestone>
          
          <blocked>1099</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Chapman">martin.chapman</reporter>
          <assigned_to name="Martin Chapman">martin.chapman</assigned_to>
          
          
          <qa_contact name="Martin Chapman">martin.chapman</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2809</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Chapman">martin.chapman</who>
    <bug_when>2005-01-10 15:58:18 +0000</bug_when>
    <thetext>The CDL specification ( Web Services ChoreographyDescription Language
Version 1.0 W3C Last Call Draft 17 December 2004
&lt;http://www.w3.org/TR/2004/WD-ws-cdl-10-20041217/&gt;
http://www.w3.org/TR/2004/WD-ws-cdl-10-20041217/  ) should specifically
state whether the short circuit evaluation of Boolean conditions is mandated
or prohibited.  
 
Short circuit evaluation of Boolean conditions does not alter the value of
the condition but in CDL it can alter the time at which that condition
evaluation becomes available, which in turn can alter the evolution of a
choreography.  My concern is that if different endpoint projections make the
opposite assumption then erroneous behaviour could result.
 
Consider a Boolean condition of the form  Variable&gt;100 AND
hasDurationPassed(2hours)
 
not exactly the correct syntax I am sure but hopefully you see the point.
With this condition as the value of a guard and block =true and assuming the
variable value is available immediately and is such that Variable&gt;100 is
FALSE then if short circuit evaluation is mandated then the condition
evaluates to FALSE immediately and the choreography moves on.  However, if
short circuit evaluation is prohibited then the condition evaluates to FALSE
only after two hours has elapsed - very different behaviour in time, and as
other interactions may also be time dependent we have to remember that CDL
can yield descriptions with some dependency on time.
 
Therefore: (!!)
 
1)  Rationale: Short circuit evaluation of Boolean conditions should be
explicitly mandated or prohibited so that different tools, endpoint
projections, etc do not make contrary choices of how to evaluate.

 

Add to section 2.4.3 Expressions (or elsewhere if a better place can be
found):

 

Boolean conditional expressions MUST use short circuit evaluation techniques
whatever the setting of the block attribute.  That is once the value of a
conditional expression can be evaluated and the result will no longer change
if further variables become available or time based functions become true,
the conditional expression returns its value.

 

Note:  If it is thought this incorrect and we should not permit short
circuit evaluation for some good reason then we should specifically prohibit
it and add text similar to that above but stating MUST NOT instead.

 
 
Best Regards     Tony</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4159</commentid>
    <comment_count>1</comment_count>
    <who name="Martin Chapman">martin.chapman</who>
    <bug_when>2005-02-14 20:34:26 +0000</bug_when>
    <thetext>From meeting on 11-jan-05
http://lists.w3.org/Archives/Member/member-ws-chor/2005Jan/att-0002/2005-01-
11_WS-Chor_Notes.txt:

Discussion deferred as deemed to be a technical issue.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4018</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Chapman">martin.chapman</who>
    <bug_when>2005-03-08 10:40:36 +0000</bug_when>
    <thetext>Discussed at feb-mar 05 f2f:

http://lists.w3.org/Archives/Member/member-ws-chor/2005Mar/att-
0001/Ws_Chor_f2f__Feb-Mar_2005_-0.txt

Use Xpath rules of left to right evaluation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4028</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Chapman">martin.chapman</who>
    <bug_when>2005-03-08 11:05:18 +0000</bug_when>
    <thetext>add note to spec to say reply on xpath left to right evaluation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3426</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Chapman">martin.chapman</who>
    <bug_when>2005-05-10 14:40:04 +0000</bug_when>
    <thetext>Tony has been informed of the group&apos;s decision [1] and we are awaiting 
confirmation. Category changed to LCC: Closed.

[1] http://lists.w3.org/Archives/Public/public-ws-chor-
comments/2005May/0007.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3173</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Chapman">martin.chapman</who>
    <bug_when>2005-05-17 22:06:31 +0000</bug_when>
    <thetext>Tony agrees the resolution is acceptable:

http://lists.w3.org/Archives/Public/public-ws-chor-comments/2005May/0030.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3057</commentid>
    <comment_count>6</comment_count>
    <who name="Greg Ritzinger">gritzinger</who>
    <bug_when>2005-05-25 19:07:12 +0000</bug_when>
    <thetext>Section 2.4.5 Choreographies, bullet on the complete attribute: This Boolean
conditional expression MUST use short circuit evaluation according to the XPath
left to right rules.Added same sentence twice to Section 2.4.6 Workunits,
bullets on guard and repeat attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5348</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Chapman">martin.chapman</who>
    <bug_when>2005-08-03 13:40:27 +0000</bug_when>
    <thetext>correcting status to closed.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>