- From: Steve Ross-Talbot <steve@enigmatec.net>
- Date: Tue, 12 Oct 2004 14:06:28 +0100
- To: WS-Choreography List <public-ws-chor@w3.org>, public-ws-chor-comments@w3.org
Section 2.4.2 *** CHANGE ONE *** <fragment> The syntax of the variableDefinitions construct is:; <variableDefinitions> <variable name="ncname" informationType="qname"|channelType="qname" mutable="true|false"? free="true|false"? silentAction="true|false"? roleType="qname"? />+ </variableDefinitions> </fragment> CHANGE TO: <fragment The syntax of the variableDefinitions construct is:; <variableDefinitions> <variable name="ncname" informationType="qname"|channelType="qname" mutable="true|false"? free="true|false"? silentAction="true|false"? roleType="qname"* />+ </variableDefinitions> </fragment> *** CHANGE TWO *** <fragment> The optional attribute roleType is used to specify the Role Type of a party at which the Variable information will reside. • The attribute name is used for specifying a distinct name for each variable element declared within a variableDefinitions element when needed. The Variables with Role Type not specified MUST have distinct names. The Variables with Role Type specified MUST have distinct names, when their Role Type is the same • A Variable defined without a Role Type is equivalent to a Variable that is defined at all the Role Types that are part of the Relationship Types of the Choreography where the Variable is defined. For example if Choreography C1 has Relationship Type R that has a tuple (Role1, Role2), then a Variable x defined in Choreography C1 without a roleType attribute means it is defined at Role1 and Role2 </fragment> CHANGE TO: <fragment> The optional attribute roleType is used to specify the Role Type(s) of a party at which the Variable information will reside. One may specify one or more roleTypes for a variable. • The attribute name is used for specifying a distinct name for each variable element declared within a variableDefinitions element when needed. The Variables with Role Type not specified MUST have distinct names. The Variables with Role Type specified MUST have distinct names, when their Role Type is the same. • A Variable defined without a Role Type is equivalent to a Variable that is defined at all the Role Types that are part of the Relationship Types of the Choreography where the Variable is defined. For example if Choreography C1 has Relationship Type R that has a tuple (Role1, Role2), then a Variable x defined in Choreography C1 without a roleType attribute means it is defined at Role1 and Role2 Thus all variables MUST have a name and that name MUST be distinct with respect to the Role Type(s) in which the variable resides. In those cases where the visibility of a variable is wholly within a single role then that role needs to be named in the definition of the variable as the Role Type. In those cases where the variable is shared amongst a subset of roles within a choreography those roles need to be named within the definition of the variable as the Role Types. </fragment> This change should ensure clarity and resolve issue 691 whilst preserving the shortcut of defining a variable at all roles. Cheers Steve T
Received on Tuesday, 12 October 2004 13:06:33 UTC