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] Issue 27 - Proposal to vote - Setting link status in case of transitioncondition


Two comments:

1.  It would not be a good idea for us to introduce new fault handling
scope-like concepts.  Designers are free to insert explicit scope
boundaries wherever they like, including just around I1, to handle
faults.

2.  We should strive to minimize runtime faults but allowing optional
nodes in XSD schemas makes elimination impossible in this case.

Satish

 
-----Original Message-----
From: Maciej Szefler [mailto:mbs@fivesight.com] 
Sent: Monday, October 27, 2003 7:06 AM
To: Assaf Arkin; Satish Thatte
Cc: wsbpel@lists.oasis-open.org
Subject: Re: [wsbpel] Issue 27 - Proposal to vote - Setting link status
in case of transitioncondition

Sattish, Assaf,

This transition evaluation issue has me a bit uneasy; evaluating the
transition condition in the scope enclosing the activity seems a bit
arbitrary. For example consider this flow:

<flow name="F1">
   <link name="a">
   <sequence name="S1">
       <invoke name="I1"...>
           <source link="a" transitionCondition="doSomethingBad()" />
       <invoke name="I2" .../>
  </sequence>
  <invoke name="I3"...>
       <target link ="a"/>
  </invoke>
</flow>

In this case evaluation of the transition condition "doSomethingBad()"
in
the enclosing scope, means evaluating it in the scope of the sequence
activity S1, which will result in S1 faulting, preventing the evaluation
of
I2. In my view S1 has nothing to do with the control relationships
between
I1 and I3 (which belong to F1), why should S1 have to deal with a fault
relating to this control relationship? Would it not make more sense to
place
the evaluation of the transition condition in the scope of "F1" (which
is
active at this point and perfectly capable of performing this task),
where
an evaluation fault would not disrupt the progress of S1?
Alternatively, if
as Assaf points out "Conditions are not evaluated by a construct" then
really why are they allowed to generate faults at all? Isn't a
transition
condition generating an exception indicative of a faulty process
definition?
Is it realistic for process designers to handle such exceptions?

-maciej



----- Original Message ----- 
From: "Assaf Arkin" <arkin@intalio.com>
To: "Satish Thatte" <satisht@microsoft.com>
Cc: "Ron Ten-Hove" <Ronald.Ten-Hove@Sun.COM>;
<wsbpel@lists.oasis-open.org>
Sent: Monday, October 20, 2003 7:22 PM
Subject: Re: [wsbpel] Issue 27 - Proposal to vote - Setting link status
in
case of transitioncondition


> Satish Thatte wrote:
>
> >Assaf,
> >
> >As Ron points out, the setting of link status is meaningful only
after
> >the evaluation of the transition condition is completed.  When a
fault
> >occurs in the scope within which the condition is to be evaluated,
> >before the evaluation of the condition is complete, the link status
is
> >always set to false.  This is quite independent of the nature and
source
> >of the fault, and there is nothing special about the faults that may
> >occur within transition conditions as far as this rule is concerned.
> >Again, this matters only when the corresponding link is leaving the
> >scope that faulted.
> >
> >
> I understand the intent, but I'm not sure if the text makes that point
> clear. The way the spec is written that would be true for all the
> activities that have not completed, but we're at a point where the
> activity has completed but the transition condition is being
evaluated,
> and I don't think the text clarifies that point. Hopefully it does
after
> we introduce the change discussed by this issue. But it's hard for me
to
> see, since I understand the intent, I may be reading too much into it.
>
> The current text as far as I read it does not explicitly state that if
> two transitions conditions exist for the same activity and one
generates
> a fault, both would set the link status to false. The intent may be
> there, but if another interpretation is possible, we need to clarify
that.
>
> >I would not exactly say that "the transition condition is always
> >evaluated by the enclosing construct" although the idea is correct.
> >Conditions are not evaluated by a construct.  I think the most
> >meaningful thing to say is that "transition conditions are evaluated
in
> >the scope immediately enclosing the source activity of a link".
> >
> >
> Consider the case where a <flow> nested within another <flow> enclosed
> in a scope, and both flows declare a link with the same name.
Currently
> this behavior is not prohibited. Now the question becomes how the
scope
> evaluates these two links with the same name? Obviously the intent
could
> be that those are two different links inspite of having the same name,
> but there could be other interpretations of the spec. I think it's
safe
> to conclude at this point that some readers would get horribly
confused
> by this without further clarification.
>
> arkin
>
> >Satish
> >
> >-----Original Message-----
> >From: Assaf Arkin [mailto:arkin@intalio.com]
> >Sent: Saturday, October 18, 2003 6:43 PM
> >To: Satish Thatte
> >Cc: Ron Ten-Hove; wsbpel@lists.oasis-open.org
> >Subject: Re: [wsbpel] Issue 27 - Proposal to vote - Setting link
status
> >in case of transitioncondition
> >
> >Would it be fair to say that the transition condition is always
> >evaluated by the enclosing construct?
> >
> >In other words, if activity X is a source activity and has a
transition
> >condition, and is encapsulated by activity Y, then activity Y is in
fact
> >
> >responsible to evaluate the transation condition using the variables
> >accessible in its scope and throw a fault if the transition condition
> >fails? An enclosing construct may also refuse to evaluate any
transition
> >
> >conditions (e.g. a while activity or an event handler).
> >
> >Another point that I don't think was answered so far is what happens
> >when there are two transition conditions and a fault occurs when
> >evaluating one of them? Are both of them set to false, or only the
one
> >that generated a fault? I believe for consistency both of the links
> >should have their status set to false.
> >
> >arkin
> >
> >Satish Thatte wrote:
> >
> >
> >
> >>You are right, my sentence is misleading.  The link status is false
> >>because of the fault not because the transition condition is not yet
> >>evaluated.  Thanks for the correction.  Incidentally, the link
status
> >>matters only if the link target is outside the scope that faulted.
> >>
> >>
> >>
> >>
> >>
> >>
>
>-----------------------------------------------------------------------
-
> >
> >
> >>*From:* Ron Ten-Hove [mailto:Ronald.Ten-Hove@Sun.COM]
> >>*Sent:* Friday, October 17, 2003 1:22 PM
> >>*To:* Satish Thatte
> >>*Cc:* wsbpel@lists.oasis-open.org
> >>*Subject:* Re: [wsbpel] Issue 27 - Proposal to vote - Setting link
> >>status in case of transitioncondition
> >>
> >>
> >>
> >>Satish Thatte wrote:
> >>
> >>The link status issue is really more general than this as Goran
> >>pointed out during the call.  A scope can always fault in an
unrelated
> >>
> >>
> >
> >
> >
> >>place while one or more transition conditions within it are being
> >>evaluated, in this case, transition conditions on other links
sourced
> >>at the same source scope.  It is impossible to specify the exact
> >>behavior in such races in the presence of true (multi-processor)
> >>concurrency.  If the evaluation of the conditions is not complete
> >>(i.e., the link has not actually set its status) then the link
status
> >>is False.  In the case of the fault occurring in the evaluation of
the
> >>
> >>
> >
> >
> >
> >>transition condition itself the evaluation of the condition is not
> >>complete and therefore the link status is False.
> >>
> >>My understanding is that links are tri-state: empty, true, or false.
> >>Until the transition condition is evaluated, the link remains marked
> >>as empty, not false as you suggested. Faulting the scope should case
> >>the link given in this case to marked as false, as part of dead-path
> >>elimination.
> >>
> >>-Ron
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
>
>-----------------------------------------------------------------------
-
> >
> >
> >>*From:* Prasad Yendluri [mailto:pyendluri@webmethods.com]
> >>*Sent:* Thursday, October 16, 2003 3:48 PM
> >>*To:* Ashwini Surpur; Assaf Arkin
> >>*Cc:* wsbpel@lists.oasis-open.org
<mailto:wsbpel@lists.oasis-open.org>
> >>*Subject:* Re: [wsbpel] Issue 27 - Proposal to vote - Setting link
> >>status in case of transitioncondition
> >>
> >>
> >>
> >>True. This aspect was clarified in the discussions related to this
> >>issue but did not make into the
> >>proposed resolution (we voted on!).
> >>
> >>I also see the need to address what the status of the link ends up
> >>being in this scenario. The
> >>obvious answer seems to that "a transition condition evaluation
error
> >>would be same as the
> >>transition condition having evaluated to 'not ture'/false'." But, I
> >>somehow feel some will not
> >>see it this way. In any case we need to make a definitive statement
> >>here and not leave a
> >>loose end dangling.
> >>
> >>Regards, Prasad
> >>
> >>-------- Original Message --------
> >>
> >>*Subject: *
> >>
> >>
> >>
> >>Re: [wsbpel] Issue 27 - Proposal to vote - Setting link status in
case
> >>
> >>
> >
> >
> >
> >>of transitioncondition
> >>
> >>*Date: *
> >>
> >>
> >>
> >>Thu, 16 Oct 2003 13:18:25 -0700
> >>
> >>*From: *
> >>
> >>
> >>
> >>Ashwini Surpur <ashwini.surpur@oracle.com>
> >><mailto:ashwini.surpur@oracle.com>
> >>
> >>*Organization: *
> >>
> >>
> >>
> >>Oracle Corporation
> >>
> >>*To: *
> >>
> >>
> >>
> >>Assaf Arkin <arkin@intalio.com> <mailto:arkin@intalio.com>
> >>
> >>*CC: *
> >>
> >>
> >>
> >>wsbpel@lists.oasis-open.org <mailto:wsbpel@lists.oasis-open.org>
> >>
> >>
> >>
> >>Also from the discussion on issue 27 I get that the local variables
of
> >>
> >>
> >the scope
> >
> >
> >>cannot be used to evaluate the transition condition of the links and
> >>
> >>
> >only the
> >
> >
> >>variables of the parent scope should be used. This needs to be
> >>
> >>
> >documented
> >
> >
> >>explicitly as well.
> >>
> >>
> >>
> >>-Ashwini
> >>
> >>
> >>
> >>Assaf Arkin wrote:
> >>
> >>
> >>
> >>
> >>
> >>>Proposal to resolve issue 27 by adding the following paragraph to
the
> >>>
> >>>
> >>>specification in the description of how links are handled (pages
> >>>
> >>>
> >64/65):
> >
> >
> >>>Note that the transition condition is evaluated after the activity
> >>>
> >>>
> >has
> >
> >
> >>>completed. If an error occurs while evaluating the transition
> >>>
> >>>
> >condition,
> >
> >
> >>>that error does not affect the completion status of the activity
and
> >>>
> >>>
> >is
> >
> >
> >>>handled by the activity's enclosing scope. In the case of
> >>>
> >>>
> >>>scopes, completion does not necessarily imply successful
completion.
> >>>
> >>>
> >A
> >
> >
> >>>scope may suffer an internal fault and yet complete
(unsuccessfully)
> >>>
> >>>
> >if
> >
> >
> >>>there is a corresponding fault handler associated with the scope
and
> >>>
> >>>
> >>>that fault handler completes without throwing a fault.
> >>>
> >>>
> >>>arkin
> >>>
> >>>
> >>>(This is the same proposal sent on Sep 30, resent for your
> >>>
> >>>
> >convenience)
> >
> >
> >>
> >>
> >>
> >>
> >>
> >>
>
>>----------------------------------------------------------------------
-
> >>
> >>
> >-
> >
> >
> >>
> >>
> >>To unsubscribe from this mailing list (and be removed from the
roster
> >>
> >>
> >of the OASIS TC), go to
>
>http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workg
r
> >oup.php.
> >
> >
>
>>----------------------------------------------------------------------
-
> >>
> >>
> >-
> >
> >
> >>To unsubscribe from this mailing list (and be removed from the
roster
> >>
> >>
> >of the OASIS TC), go to
>
>http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workg
r
> >oup.php.
> >
> >
> >
> >
> >
> >
> >
> >
> >To unsubscribe from this mailing list (and be removed from the roster
of
the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgr
oup.php.
> >
> >
>
>
>
> To unsubscribe from this mailing list (and be removed from the roster
of
the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgr
oup.php.
>
>






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