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 - 123 - Matching <reply> with <receive>






I think Yuzo's question #1 is the same as issue 26. I suggest we close 26
as it is contained in 123.

I don't like Bernd's proposal of limiting to one the number of replies per
receive; the loss of expressiveness is too great. I happen to agree with
the view that correlation sets should be used to disambiguate replies,
since we already use correlation sets to disambiguate receives. I also
agree that if there are no conflicting receives there should be no
restriction of course.

The only problem is how to define a match and keep all the flexibility. For
example, I would like to have one synchronous receive-reply pair which does
not need correlation, as long a other conflicting pairs can be matched
based on one or more sets. The initial pair matches then on the "empty"
set. However, I may also want to use the reply of the synch pair to
transmit a correlation value back to the invoker (the cset could have been
initialized in a prior interaction with a different partner for example).
In that case we have an ambiguous match since this time the reply has an
empty match with more than one receive. Likewise, a reply may match two
different subsets of its csets with two different receives.

I think the only way out is to restrict the use of correlation sets on the
conflicting receive/reply pairs; after all, the case of conflicting
receives is possibly an uncommon one. Introducing additional syntax to
match receive and replies is also an option if the restrictions seem unduly
severe, but I'd prefer to avoid new syntax if possible.

A possible restriction is this: in the presence of conflicting receives,
every reply activity must include at least one cset that matches a cset
present in one of the conflicting receives, and it may not contain csets
matching more than one of them. We can extend this rule by allowing one
receive and one or more matching replies that carry no correlation set at
all; this allows simple synchronous interactions but limits the ambiguity
of the "empty" set match.

I guess other variations are possible; the difficult part is keeping the
rule simple while avoiding ambiguity.

Paco




                                                                       
                      "Eckenfels.                                      
                      Bernd"                   To:       <wsbpel@lists.oasis-open.org>
                      <B.Eckenfels@seeb        cc:                     
                      urger.de>                Subject:  [wsbpel] Issue - 123 - Matching <reply> with <receive>
                                                                       
                      05/18/2004 10:37                                 
                      AM                                               
                                                                       




Hello Satish,

yes, exactly. as i said this is a bit less flexible as the current
sematics, but a lot less confusing. Basically it forces the modeller to
explicitely model every possible execution path which can lead to a result.
I think this is a good restriction.

It better captures the intend of a process description.

Another possible option would be to make a receive operation for an two-way
request an container, which returns the result on leaving this container.
Thats another way of strictly binding and even more structures the process,
but it also is even more inflexible, I think it fails short for concurrent
processing.

<sequence>
  <receive pl="pl" pt="pt" op="op" id="123" variable="request" />
  ...
  <reply ref="#123" variable="response" />
</sequence>


In fact I think it is quite uncommon to have different possible recieves
terminated with the same reply.

Mit freundlichen Grüßen
Bernd Eckenfels
Chief Architect
--
SEEBURGER AG - Edisonstr.1 , D-75015 Bretten, Germany
Fax: +49 (0)7252 96-2400 - Phone: +49 (0)7252 96-1256
mailto:b.eckenfels@seeburger.de - http://www.seeburger.de


-----Original Message-----
From: Satish Thatte [mailto:satisht@microsoft.com]
Sent: Tuesday, May 18, 2004 12:45 AM
To: Eckenfels. Bernd; wsbpel@lists.oasis-open.org
Subject: RE: [wsbpel] Q: Matching <reply> with <receive>


I don't see how id/ref is generally usable.  Are you assuming that a reply
is always bound to a syntactically unique receive?

-----Original Message-----
From: Eckenfels. Bernd [mailto:B.Eckenfels@seeburger.de]
Sent: Monday, May 17, 2004 3:22 AM
To: wsbpel@lists.oasis-open.org
Subject: RE: [wsbpel] Q: Matching <reply> with <receive>

Personally I like a tighter binding of the reply to the receive. For
example using a id/idref scheme. That way not all the currently legal reply
stuff is possible, but on the other hand, it is much cleaner to implement,
and perhaps even to understand.

Mit freundlichen Grüßen
Bernd Eckenfels
Chief Architect
--
SEEBURGER AG - Edisonstr.1 , D-75015 Bretten, Germany
Fax: +49 (0)7252 96-2400 - Phone: +49 (0)7252 96-1256
mailto:b.eckenfels@seeburger.de - http://www.seeburger.de


-----Original Message-----
From: Ugo Corda [mailto:UCorda@SeeBeyond.com]
Sent: Thursday, May 13, 2004 8:26 PM
To: Satish Thatte; Yuzo Fujishima; wsbpel@lists.oasis-open.org
Subject: RE: [wsbpel] Q: Matching <reply> with <receive>


I would assume that it should be fine as long as the reply has enough CS
information to disambiguate. So, in Yuzo's example,

reply name="rep1" partnerLink="pl" portType="pt" operation="op"
correlation set="cs3" initiate="no"

should be acceptable.

If, on the other hand, the reply does not have enough CS information to
disambiguate, "the semantics of the process is undefined", the same way
it happens when two identical receive's are outstanding (so that we
don't know which one to respond to).

Ugo

> -----Original Message-----
> From: Satish Thatte [mailto:satisht@microsoft.com]
> Sent: Thursday, May 13, 2004 9:22 AM
> To: Yuzo Fujishima; wsbpel@lists.oasis-open.org
> Subject: RE: [wsbpel] Q: Matching <reply> with <receive>
>
>
> Yuzo,
>
> Synchronous reply does not need correlation unless there is a
> problem of disambiguating the matching receive.  This I
> believe answers your second question.
>
> Your first question is interesting in that we have not
> clearly stated what the minimum requirements for
> disambiguation are.  Thus having the two outstanding receives
> you showed is legal because they are differentiated by csets.
>  But what is needed in a reply if, for instance, both
> receives correspond to synchronous operations?  The easy
> answer is that it should be one of the csets that is not
> common with the others.  But what if the reply message does
> not contain the corresponding properties?  We need to think
> about this more.
>
> Thanks for bringing it up.
>
> Satish
>
> -----Original Message-----
> From: Yuzo Fujishima [mailto:fujishima@bc.jp.nec.com]
> Sent: Thursday, May 13, 2004 12:51 AM
> To: wsbpel@lists.oasis-open.org
> Subject: [wsbpel] Q: Matching <reply> with <receive>
>
> Hi,
>
> I have a few questions about the rule of matching <reply>
> with <receive>.
>
>
> [Q1] Must <reply> always specify all the correlation sets
> specified by the corresponding <receive>?
>
> For example, if there are two <receive>'s outstanding as follows,
>
>    receive name="rec1" partnerLink="pl" portType="pt" operation="op"
>      correlation set="cs1" initiate="no"
>      correlation set="cs2" initiate="no"
>      correlation set="cs3" initiate="yes"
>      correlation set="cs4" initiate="yes"
>
>    receive name="rec2" partnerLink="pl" portType="pt" operation="op"
>      correlation set="cs1" initiate="no"
>      correlation set="cs2" initiate="no"
>      correlation set="cs5" initiate="yes"
>      correlation set="cs6" initiate="yes"
>
> Must a <reply> specify all of the corresponding <receive>'s
> CS's? That is, for rec1,
>    reply name="rep1" partnerLink="pl" portType="pt" operation="op"
>      correlation set="cs1" initiate="no"
>      correlation set="cs2" initiate="no"
>      correlation set="cs3" initiate="no"
>      correlation set="cs4" initiate="no"
>
> Or only as many as necessary to disambiguate the matching?
>    reply name="rep1" partnerLink="pl" portType="pt" operation="op"
>      correlation set="cs3" initiate="no"
>
> [Q2] Does it follow that if a <receive> specify a correlation
> set, the corresponding reply can only send a message that
> contains the correlation set?
>
> If it does, then the rule seems to be too restrictive. For
> example, the following process will be illegal.
>
> 1. receive a Purchase Order and initialize correlation set
> CS-PO. 2. synchronously reply with an acknowledge message not
> containing CS-PO.
>        <- Illegal
> 3. receive and/or invoke using CS-PO to perform the rest of
> the PO process.
>
> Yuzo Fujishima
> NEC Corporation
>
>
>
> 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/le
ave_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]