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


Harvey,
The scopes I am referring to are the implicit scopes of each activity, not
the <scope> activity. Each may have an implicit scope: pg 54 "Semantically,
the specification of local fault and/or compensation handlers is equivalent
to the presence of an implicit scope immediately enclosing the activity and
providing those handlers."

The confusion may be due to the fact that I omitted the fault handlers in
the example. Now, this brings up an a pet peeve of mine. If I were writing
the semantics I would write that "each activity ALWAYS HAS an implicit
scope", and that the <scope> construct is an "activity that permits the
decleration of variables, event handlers, etc.. on its implicit scope."
instead of the mess that is currently implied (sometimes the scope is
defined implicitly, sometimes its defined by the enclosing <scope>
construct). This would have no effect on the behavior of BPEL processes, but
would get us one step closer to eliminating the scope activity which
provides neither a consistent, formal syntax (if we wanted to that, we'd not
allow "implicit" scopes or implicit variable declerations) nor convenience
(allowing the flow and sequence activities to declare
variabes/correlationsets in addition to the fault and compensation handlers
that are currently permitted would be more convenient and consistent). ...
but that's another issue.


-maciej



> -----Original Message-----
> From: Harvey Reed [mailto:hreed@sonicsoftware.com]
> Sent: Monday, October 27, 2003 9:46 AM
> To: 'Maciej Szefler'; '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
>
>
> Ok, now I am confused.  I thought "scope" was defined as:
>
> <...>
>       <scope ...>
> 		<variables/>
> 		<correlationSets/>
> 		<faultHandlers/>
> 		<compensationHandlers/>
> 		<eventHandlers/>
> 		<"activities...">
> 	</scope>
> </...>
>
> as described on p.70. I didn't see a <scope/> in the example below...
>
> ++harvey
>
> -----Original Message-----
> From: Maciej Szefler [mailto:mbs@fivesight.com]
> Sent: Monday, October 27, 2003 10: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_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.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >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_
> workgroup.
> 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_
> workgroup.
> 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_
> workgroup.
> php.
>
>
>




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