Dear Colleagues,
I do not think the current CDL specification ( Web Services Choreography
Description Language Version 1.0 W3C Working Draft 12 October 2004
http://www.w3.org/TR/2004/WD-ws-cdl-10-20041012/ ) specifically states
this, and perhaps it should, but I assume that a Choreography Description,
written using CDL is to be interpreted element at a time in the sequence
those elements are written down following the normal rules of XML documents
(lexical ordering), except were the defined semantics of an element so
encountered dictates otherwise - particularly the parallel and choice
constructs in the case of CDL (not quite sure why we need sequence as that
is the default ordering).
Following on from this idea one naturally assumes that conditionally
expressions are evaluated when (and only when) they are encountered. This
rule would seem to apply well to the guard attribute which is evaluated when
a work unit element is encountered. However, it does not apply if we want
the same guard condition to be re-evaluated at any later point (as the
current text implies rather confusingly). The current text in place seems
to state that the repetition condition is also evaluated on entry to the
work unit. It is not clear to me that this is useful and it would seem
better to state (as implied elsewhere) that the repetition condition is
evaluated when the work-unit is completed and before going on to the next
element / step to see if the work unit should be repeated. The text should
state that once a repetition condition on a work unit has been tested and
found to false (maybe after several previous evaluations that evaluated to
true) then that work unit is left behind and not used again.
The 'complete' attribute on the choreography element does not seem to fit
this pattern at all and so it should be clearly specified when it is
evaluated (at a particular point, at several points, continuously while the
choreography is active), and what happens when it evaluates to false, and
what happens when it evaluates to true.
Asking whether a choreography is complete as you start it seems a little
odd, and asking the same question at the point the choreography element is
complete and the description is about to end or go onto the next step seems
even odder. So it should be clearly specified when it is evaluated and
what happens when it is evaluated.
Best Regards Tony
A M Fletcher
Tel: +44 (0) 1473 729537 Mobile: +44 (0) 7801 948219
amfletcher@iee.org (also tony_fletcher@btopenworld.com)