- From: Martin Chapman <martin.chapman@oracle.com>
- Date: Mon, 20 Jun 2005 22:18:39 +0100
- To: "'Steve Ross-Talbot'" <steve@pi4tech.com>, "'WS-Choreography List'" <public-ws-chor@w3.org>
For some reason this seems to have fallen through the cracks so lets put it on next weeks agenda. Martin. >-----Original Message----- >From: public-ws-chor-request@w3.org >[mailto:public-ws-chor-request@w3.org] On Behalf Of Steve Ross-Talbot >Sent: Tuesday, May 10, 2005 6:46 PM >To: 'WS-Choreography List' >Subject: Issue 1108 - proposal > > > >Martin, > >here is a possible way forward. > >Cheers > >Steve T > >Begin forwarded message: > >> Resent-From: public-ws-chor@w3.org >> From: "Gary Brown" <gary@pi4tech.com> >> Date: 20 April 2005 09:13:02 BST >> To: <public-ws-chor@w3.org> >> Subject: PROPOSAL related to: Example showing problem with current >> isolation semantics in CDL >> >> We should clearly state in the spec that nested isolation >> choreographies are not permitted. >> >> Proposed Text: >> >> Section 2.4.5 contains the following bullet point: >> >> " When isolation is set to "true", changes to the Variable >information >> MUST be visible for read or for write to its sibling Choreographies >> only after this Choreography has completed " >> >> This should be extended to include the text: >> >> "An isolated choreography cannot directly or indirectly perform >> another isolated choreography." >> >> Regards >> Gary >> >> ----- Original Message ----- >> From: Gary Brown >> To: public-ws-chor@w3.org >> Sent: Tuesday, April 19, 2005 12:56 PM >> Subject: Example showing problem with current isolation semantics in >> CDL >> >> Hi >> >> After the recent discussion on isolation being inherited from the >> enclosing choreography, I wanted to outline the following example to >> show how simply changing the isolation attribute of an enclosing >> choreography can significantly change the behavior of the >> choreography. >> >> <choreo A> >> >> <variable name="var1" /> >> <variable name="var2" /> >> <choreo B isolation=true > >> >> <assign value "x" to "var1" /> >> <assign value "x" to "var2" /> >> </choreo> >> <choreo C isolation=true > >> >> <assign value "y" to "var1" /> >> <assign value "y" to "var2" /> >> </choreo> >> >> <parallel> >> <perform choreo B> >> <bind var1/> >> <bind var2/> >> </perform> >> >> <perform choreo C> >> <bind var1/> >> <bind var2/> >> </perform> >> </parallel> >> </choreo> >> >> If choreo A is not isolated, then choreo B and C are >isolated in their >> own right - and therefore because they are both accessing common >> variables, I assume that one or the other of the performs will wait >> until the other has completed - so in fact they will be performed in >> sequence. [If this assumption is not true, then I need to have an >> explanation of the behavior when two sub-choreos have the same >> isolated variable - at what point do they wait?] >> >> Therefore the result would be that both variables would have the same >> value - either 'x' or 'y' depending on the order in which the >> sub-choreos were actually performed. >> >> However, if we now make choreo A isolated, the isolated >attribute on B >> and C is now ignored, as the isolation is inherited from the parent >> choreography (as described at the last f2f). >> >> This now means that because the variables 'var1' and 'var2' >are within >> the same isolation scope, when the two sub-choreos are performed, >> there is no waiting/blocking. This means that the result of the >> overall choreography is non-deterministic, the variables could have >> any combination of 'x' or 'y'. >> >> The problem is that a sub-choreography may be defined on the basis of >> having isolation semantics - and this is effectively overridden when >> performed from an already isolated choreography. Whereas if nested >> isolation was supported, the semantics of the >sub-choreographies would >> be preserved, regardless of the isolation status of the enclosing >> choreography. >> >> This example is showing a simple example, but in a real example the >> isolation of a top level choreography could have unforeseen >> consequences on a sub-choreography that is many levels of nesting >> removed from the isolated choreography. A case of a small change >> having a significant impact on bahavior. >> >> Regards >> Gary > > >
Received on Monday, 20 June 2005 21:18:13 UTC