OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [wsbpel] repeatUntil description issue



Hi all,

[1]

*** Prasad: Just to clarify it is is not a misnomer.

The name of the activity was intentionally changed from <until> to <repeatUntil>. Because, there is another optional <until> under <onAlarm> which may appears before any activity. That will trigger an ambiguous XSD issue. For example:

<onAlarm>
    <until ... />
</onAlarm>

The ambigous schema cannot tell us whether that <until> is supposed to match the until-expression ? or until activity.

Hence, the name of activity is changed to avoid this problem.

I sent out email to the editor-group and cc'ing Yaron (the proposal) to notify about this syntax change. And, Yaron gave his silent consent eventually, after explainning to him about this situation. You guys digged up the editor group email list archive to verify.


[2]

Regardless whether the activity is called <repeatUntil> or <until>, I feel comfortable with changes proposed by Venky in general. That is: we flip the boolean condition usage as we should to match the semantics of "until".

-----------------------
<assign>
    <copy> <from> 1 </from> <to> $invVar </to> </copy>
</assign>
<repeatUntil>
    <assign>
        <copy> <from> $invVar+1 </from> <to> $invVar </to> </copy>
    </assign>
    <condition> $invVar >=3 </condition>
</repeatUntil>
-----------------------

The above loop will be executed twice to increase the value from 1 to 2 and then from 2 to 3.

[3]

Yes, the boolean condition is not used correctly in the original issue resolution description to match the natural language meaning of "until". Apart from that, it was not explicitly enough to express its "posttest" loop semantics, even though its intention is implied in both the issue description and the relative position of <condition> within the activity.

To avoid any further misunderstand: I would suggest to add one more sentence to Venky's proposal:
------------------------------------------------------------------------
Current description:

The <repeatUntil> constructs allows you to indicate the repeated performance of a specified iterative activity. The iterative activity will continue to be performed so long as after it executes the given Boolean <repeatUntil> condition holds true.

Proposed Description:

The <repeatUntil> construct allows you to indicate the repeated performance of a specified iterative activity. The iterative activity will continue to be performed until the given Boolean <repeatUntil> condition becomes true and the condition is tested after the body of the loop executes. The <repeatUntil> activity is used when ones wants the loop to execute at least once.

------------------------------------------------------------------------

*** Chris, my interpretation is: yes, executing the loop at least once is still the semantics.

[4]
Reference Link:
"repeat .... until ... " in Pascal
http://www.taoyue.com/tutorials/pascal/pas3dc.html

I hope my suggestions and explanation makes sense to you guys.



Regards,
Alex Yiu



Khanderao Kand wrote:
"The proposed resolution called the activity "until" but when it got incorporated into the spec it
got changed to "repeatUntil" which is a definite misnomer. "
 
Would it be appropriate to go back to the recommended semantics using <while> ? Any reason for changing it?
 
Khanderao
-----Original Message-----
From: Prasad Yendluri [mailto:pyendluri@webmethods.com]
Sent: Friday, November 04, 2005 11:42 AM
To: Danny van der Rijn; chris.keller@active-endpoints.com; 'Mehta, Vinkesh (US - Austin)'
Cc: 'ws bpel tc'
Subject: Re: [wsbpel] repeatUntil description issue

We added this activity as a resolution for issue 140. The issue called for adding an activity with the following semantics:
<scope>
    activity1
    <while>
       <condition>bool-expr</condition>
       activity1
    </while>
</scope>

    
The intent was to permit executing at least once and repeat as long as the condition holds true.
The proposed resolution called the activity "until" but when it got incorporated into the spec it
got changed to "repeatUntil" which is a definite misnomer.

The intent of the issue was *not* to add an activity with "repeatUntil" semantics.
So I suggest we fix the name of the activity to capture the semantics appropriately than change the semantics of the activity to match "repeatUntil".

How about <repeat> or <repeatWhile>? Either of which I don't particularly like and the original name <until> in the issue resolution is not good either IMO.

How about <atleastOnce>?

Regards,
Prasad

------- Original Message --------
Subject: Re: [wsbpel] repeatUntil description issue
Date: Fri, 04 Nov 2005 10:24:15 -0800
From: Danny van der Rijn <dannyv@tibco.com>
To: chris.keller@active-endpoints.com
CC: 'Mehta, Vinkesh (US - Austin)' <vmehta@DELOITTE.com>, 'ws bpel tc' <wsbpel@lists.oasis-open.org>
References: <200511041404.jA4E4OCR006542@mx2.tibco.com>


Which is usually called do.. while.  We should either rename this, or redefine it.  The current definition doesn't match the name.

Danny

Chris Keller wrote:

Hi Vinky,

I think the idea was to create a loop that executes at least once with a test after execution of the loop.  As opposed to <while> which tests before the loop is executed and thereby the loop code may not execute at all.  Is that still the semantics?

- Chris


From: Mehta, Vinkesh (US - Austin) [mailto:vmehta@DELOITTE.com]
Sent: Thursday, November 03, 2005 11:30 PM
To: ws bpel tc
Subject: [wsbpel] repeatUntil description issue

As we discussed during the Nov 2nd conf. call. I would like to request opening the following new issue:

In 6.2 the description of <repeatUntil> is incorrect. It is opposite of the traditional meaning of a REPEAT UNTIL construct. The expected meaning is for the iterator to repeat *until* the boolean condition is met(becomes true). But the description says otherwise.

------------------------------------------------------------------------
Current description:

The <repeatUntil> constructs allows you to indicate the repeated performance of a specified iterative activity. The iterative activity will continue to be performed so long as after it executes the given Boolean <repeatUntil> condition holds true.

Proposed Description:

The <repeatUntil> construct allows you to indicate the repeated performance of a specified iterative activity. The iterative activity will continue to be performed until the given Boolean <repeatUntil> condition becomes true.

------------------------------------------------------------------------

Regards,
-Vinky

Vinkesh O. Mehta
Deloitte Consulting LLP
 
Fax: +1 512 480 1261
Mobile: + 1 512 750 2006
vmehta@deloitte.com
www.deloitte.com

 
400 West 15th Street, Suite 1700
Austin, TX 78701-1648
USA





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]