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 - 242 - Allow/require onEvent's variable to bedeclared in <variables>? (Also, issue 241)


The direction discussed at the F2F appears to me, then, to be in conflict with the resolution for 123.  At least as far as message exchange goes.

From 123:

"The name used in the optional messageExchange attribute MUST resolve to a messageExchange declared in a scope (where the process is considered the root scope) which encloses the reply activity and its corresponding IMA. This resolution follows the same scoping rules as variable and correlationSet resolution."

That seems pretty clear to me, and I assert that it is both correct, and my intention when working on 123.  If we treat the message exchange attribute on an onEvent as a declaration, then IMAs can not cross onEvent boundaries, an unneccessary restriction. 

In summary, IMO, resolving 241 the way Alex describes would require rescinding 123 yet again.

Danny

Alex Yiu wrote:

Diane,

Thanks a lot for digging out these minutes!
I will draft a consolidated email based on these minutes ... potentially serving as a directional proposal (or so) for Issue 241.


Regards,
Alex Yiu


Diane Jordan wrote:

Alex,
We discussed 241 at least twice during the f2f.  I've cut and pasted the notes from the minutes for the two discussions that were recorded below.   I don't recall any email from the final discussion although we seemed to have a consensus among the attendees.  Hope this helps.  
First discussion on Jan 11

Issue 241
 
Resolution proposal at: http://lists.oasis-open.org/archives/wsbpel/200509/msg00083.html
 (to simplify, I did not inlcude the entire text of the proposal from the link above which is in the minutes)

Rania: can someone clarify resolution (b) and (c)
 
Chris: The issue is; since onEvent is behaving like a scope add all the attributes of scope on onEvent.
 
Diane: Should we ask Danny to make (c) as a separate issue. Yes?
Simon: yes
Monica: yes
 
Alex: what is the difference between (a) and (b)
Chris: there seems to be no difference
Rania: yes no difference
 
Alex: Let’s discuss the issue and resolution
Dieter: Issue 126 is related to this where Yaron has defined some scenarios
 
Diane, is this the resolution?
 
Alex: partnerlink resolved to local scope first and then ancestor scope
Correlation: same as partnerlink
Variable and messageexchange resolved to the associated scope only
 
Chris: Yes messageExchange should be resolved like a variable. First as local and then in the ancestor scope
 
Dieter: Why ancestor?
 
Chris: Don’t know
 
Alex: Should we limit this to local only. There seems to be no compeling reason.
 
Yuzo: I think it should be uniform
 
Chris: I agree
 
Alex: It can cause problems for onEvent
 
Alex: I am only referring to onEvent
 
Alex: We always miss the onEvent description when working on the spec.
 
Alex: fromPart and toPart variables are implicit so we don’t need to worry about it because it is local scope.
 
Simon:
OnEvent scope resolution:
  PartnerLink resolved to local scope first and ancestor scope
  Correaltion: same as partnerlink
  MessageExchange: same as partnerlink
  Variables ( frompart and topart): Local scope only
 
Alex: Dieter would like to collapse onEvent and Scope so we don’t need to invoke to have a separate declaration of scope inside onEvent
 
Second discussion on Jan 12
Issue 241:

Alex: Yesterday, we came to a set of resolution rules

Questions regarding syntax: do we want to collapse onEvent and scope? If we do that it would be more backward compatible with v1.1

Diane: Is there any example how this can be done?

Alex: Danny sent an example.

Alex: In v1.1 we are talking about virtual scopes. But it is getting complicated in v2.0. According to 204 onEvent must have a scope as the child activity.

Chris: If we collapse do we have to declare some elements? Probably we may save some declarations.

Alex: There is no difference. The order may change. I do not have any preference.

Chris: The current syntax for onEvent – the collapsing would eliminate the messageType

Dieter: Here is an example how it could look like. tOnEventScope inherits from bpws:tScope

Alex: The question is do we want to be backward compatible, do we want to save some declarations?

Allen: It is also important to be understandable.

Chris: Binding rules play important role. If we say that the child activity is scope and change the binding then the correlation set will follow the same logic. So this has to be cleaned.

Alex: If we want to do clean up the syntax will not be backward compatible. That reason does not hold. Maybe we do not want to collapse.

Allen: Explicit scope is more understandable.

Alex: So, onEvent must have an explicit scope. I believe we understand the direction.

Dieter: For foreach the scope element is also mandatory child element. So onEvent is not the only place

Diane is recording the sense of the committee: do not collapse – we cannot maintain backward compatibility and also for the forEach activity we require scope as the only activity that can be included and it would be hard to collapse forEach and scope.

Regards, Diane
IBM  Emerging Internet Software Standards
drj@us.ibm.com
(919)254-7221 or 8-444-7221, Mobile: 919-624-5123, Fax 845-491-5709

----- Forwarded by Diane Jordan/Raleigh/IBM on 02/08/2006 10:26 PM -----
Alex Yiu <alex.yiu@oracle.com>

02/08/2006 09:52 PM

To
Danny van der Rijn <dannyv@tibco.com>
cc
wsbpel@lists.oasis-open.org, Alex Yiu <alex.yiu@oracle.com>
Subject
Re: [wsbpel] Issue - 242 - Allow/require onEvent's variable to be declared in <variables>? (Also, issue 241)








Hi Danny,

Few quick things:

  • I would suggest that we should work on the proposal (maybe directional) on Issue 241 first regardless of how syntax is resulted from Issue 242. Note: 241 is just about <onEvent> resolution semantics, while 244 covers both <onEvent> and <forEach> syntax.

    I guess you would feel OK with this approach?
  • We spent a hour or so in discussing 241 during F2F. There has been already a  preliminary consensus in terms of how resolution rules should be applied to Issue 241. Unfortunately, I could not find the email that recap the consensus. :-( ... I will try to recall it from my memory and send out an email of that preliminary recap later in the email thread of issue 241.
  • For Issue 241 and particularly Issue 242, we need to address <fromPart> usage in <onEvent>, which you have not mentioned in your previous email.
  • After browsing your email quickly, my current preferences about variable resolution (about variable declaration and reference) are somewhat different from your current preference. Let's discuss it over Issue 241 thread.

Thanks!


Regards,
Alex Yiu



Danny van der Rijn wrote:

When I started 242, I was only intending to coalesce syntax, and leave all semantics alone.  But as I look at 241, I realize that 242 gives us a great opportunity to actually fix some stuff that is unclear at best, and most likely broken.

Currently, an onEvent looks like (for clarity, only relevant portions are included):

      <onEvent partnerLink="ncname"
                      messageType="qname" variable="ncname"

                      messageExchange="ncname"?
>*

            <correlationSets>?
                  <correlationSet name="ncname"
                     properties="qname-list"/>+
            </correlationSets>
            <correlations>?
       <correlation set="ncname"
           initiate="yes|join|no"?/>+
            </correlations>

        scope-activity
   </onEvent>

Resolution/declaration occurs as follows:
partnerLink - reference - resolved to parent scope - no ability to declare on onEvent
correlation - reference resolved to onEvent/correlationSets - (note that this doesn't mean that the correlationSet be actually defined there, just that that's the resolution scope)
correlationSets - declaration - may be used by correlation, or nested activities
variable - reference AND declaration - variable and messageType/element constitute a declaration;  variable alone constitutes a reference (to itself).

messageExchange - I'm not sure - Alex's interpretation (in 241) conflicts with mine.  I'll try to present them both, and apologies to Alex if I don't present his side well.
Alex:  "messageExchange: resolved to the associated scope only."  What Alex seems to me to be saying here is that the messageExchange is both a declaration and a reference.  This would be true for both the presence of a messageExchange, as well as the absence of one, due to our Default Message Exchange (DME) provided by onEvent.  Thus an IMA has no possibility of crossing eventHander boundaries (in either direction).
Danny:  the messageExchange attribute is only a reference.  As such, technically it resolves to the associated scope, since the associated scope has a DME.  In reality, it resolves to a parent scope, if specified; and if not specified, it resolves to the associated scope.

In 242, I propose that an eventHandler look like this (again, only including the relevant parts for clarity):

      <onEvent  partnerLink="ncname"
                       
messageType="qname"? variable="ncname"
                       messageExchange="ncname"?>*
            <correlationSets>?
                  <correlationSet name="ncname"
                     properties="qname-list"/>+
            </correlationSets>
            <correlations>?
       <correlation set="ncname"
           initiate="yes|join|no"?/>+
            </correlations>
            <partnerLinks>?
            </partnerLinks>
            <variables>?
            </variables>
            <messageExchange>?
            </messageExchanges>
        activity

Option 1:  We can keep the exact same resolution semantics.

Option 2:  Make all attributes be references only, with resolution on the onEvent scope (the messageType attribute would be removed):

Resolution/declaration occurs as follows:
partnerLink - reference - resolved to onEvent's <partnerLinks> element.  This is a change, since there was no ability to have a <partnerLinks> element.
partnerLinks - declaration - may be used by correlation, or nested activities - no change
correlation - reference resolved to onEvent/correlationSets - (note that this doesn't mean that the correlationSet be actually defined there, just that that's the resolution scope) - No change
correlationSets - declaration - may be used by correlation, or nested activities - no change
variable - reference ONLY.  variable resolves to onEvent's <variables> element.  If no variable is declared there, then resolves to parent, as would be natural.  
This is a semantic change.
variables - declaration - may be used by variable attribute, or nested activities - The use by the variable attribute is a semantic change
messageExchange - reference ONLY.  resolves to onEvent's messageExchanges.  If no variable is declared there, then resolves to parent, as would be natural.  
This may or may not be a semantic change, depending on your previous interpretation.

Option 3:  Option 2 with backward compatibility of messageType/element attribute:
variable -
if messageType/element present, then variable is a reference AND a declaration as before.  If messageType/element are not present, then use Option 2 resolution rules.



ws-bpel issues list editor wrote:

This issue has been added to the wsbpel issue list with a status of "received". The status will be changed to "open" if a motion to open the issue is proposed and that motion is approved by the TC. A motion could also be proposed to close it without further consideration. Otherwise it will remain as "received".

The issues list is posted as a Technical Committee document to the OASIS WSBPEL TC pages on a regular basis. The current edition, as a TC document, is the most recent version of the document entitled in the "Issues" folder of the WSBPEL TC document list - the next posting as a TC document will include this issue. The list editor's working copy, which will normally include an issue when it is announced, is available at this constant URL.

Issue - 242 - Remove required scope children
Status: received
Date added:
21 Jan 2006
Categories:
Scoping, Syntax
Date submitted:
20 January 2006
Submitter:
Danny van der Rijn
Description:
Arising from part (B) of [proposed resolution;MSG=200509/83] for
issue 120.2 and its discussion. See http://lists.oasis-open.org/archives/wsbpel/200509/msg00083.html

Rescind issue 204 : clarify the relationship between eventHandler and compensationHandler completely. Add the elements and attributes from scope (except suppressJoinFalure, isolated, and standard-elements for onAlarm) that are not currently on <onAlarm> and <forEach>

Rationale: Extend the relevant rationale from Part A ( issue 241)

issue 241 : clarification of onevent resource resolution was for onEvent. This issue is for onAlarm and forEach
Changes:
21 Jan 2006 - new issue


To comment on this issue (including whether it should be accepted), please follow-up to this announcement on the wsbpel@lists.oasis-open.org list (replying to this message should automatically send your message to that list), or ensure the subject line as you send it starts "Issue - 242 - [anything]" or is a reply to such a message. If you want to formally propose a resolution to an open issue, please start the subject line "Issue - 242 - Proposed resolution", without any Re: or similar.

To add a new issue, see the issues procedures document (but the address for new issue submission is the sender of this announcement).

--------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. You may a link to this group and all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php

--------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. You may a link to this group and all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php




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