ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Date Fri, 14 Mar 2008 16:07:33 GMT
On Fri, Mar 14, 2008 at 5:27 AM, Thomas Steinmetz <thomassteinmetz@gmx.de>

> Hi all,
> i think i found some errors in the source code (trunk) regarding the link
> semantic of BPEL 2.0.
> 1. If a sequence gets executed and the child that is in execution right
> now
> fails, the fault gets propagated. What's missing here is to DPE the
> remaining child activities so that those activities outgoing links will be
> set to false.

Good catch. I've just added the call.

> When terminating the sequence activity, the child, that is in execution at
> that moment gets terminated as well. All remaining activities are DPEed.
> What's missing here is to remove the terminated child from the list of
> remaining child activities before the DPE for those activities is
> realized.

I fail to see how that could change anything. The child is terminated anyway
so its outgoing links are set to false already. But it's probably good to
keep the code sane instead of setting it to false twice, so I'll do the

> 2. If the links transition conditions get evaluated in the class
> ACTIVITYGUARD, evaluating a links transition condition may fail.
> According to the BPEL 2.0 Specification the following should happen (page
> 107):
> "If an error occurs while evaluating the transition condition of one of an
> activity's outgoing links, then all remaining outgoing links with targets
> within the source activity's enclosing scope MUST NOT have their ransition
> conditions evaluated and remain in the unset state. However, if the target
> of a remaining outgoing link is outside the source activity's enclosing
> scope then the status of the link MUST be set to false."
> In ACTIVITYGUARD, the remaining links are evaluated according to their
> transition conditions, while according to the BPEL Specification, these
> links should be set to false.

They should be set to false if they don't share the same scope, otherwise
they should be left unset. Leaving them unset is fairly easy, we just need
to leave the evaluation loop, but the scope detection would be a bit longer.
I don't have the bandwidth right now, care to submit a patch?


> Regards,
> Thomas
> --
> View this message in context:
> http://www.nabble.com/Runtime%3A-SEQUENCE-and-ACTIVITYGUARD-tp16048082p16048082.html
> Sent from the Apache Ode Dev mailing list archive at Nabble.com.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message