Re: a question about interactions

Dear Gary,

On Fri, 6 May 2005, Gary Brown wrote:

> Hi Roberto,
>
> >From my perspective, your second example is the best way to express this
> scenario, because it clearly defines the order of activities (and
> dependencies between them).
>
> When you say that you have concerns about the syntax, regarding this second
> approach, can you be more specific? Is it the fact that the interaction no
> longer represents the explicit binding of a request/response pattern?

Yes, my concerns was about what should be used to correlate different
exchanges on different interactions, to this end in the proposed solution
we exploit the operation attribute and the interaction name.
Obviously, the operation must be defined, in the WSDL, as a
request-response one.

However, I think that the align attributes should be associated at the
level of single interaction either for request and request-response
interactions while, by using this solution I can build, for instance, a
r-r interaction with only the request part aligned.
Moreover, I wonder if <perform> of a choreography, say C, completes when
C completes or when C is enabled because this fact affects the solution we
propose.

In light of this observation, in our opinion, the <interaction> should
allow to express if a certain choreography have to be performed within a
request-response operation. We also have proposed a formal language which
represents a kernel of a chorepgraphy language, a draft of such a proposal
is available at my home page: http://www.cs.unibo.it/~lucchi/pubbl.html

Regards,
 Roberto


>
> Although this may not be obvious in the way the interactions are described,
> due to the separation of the request interaction from the response
> interaction, it can be verified against the interface definition to ensure
> that where necessary, a request interaction is always followed by a response
> pattern regardless of path taken.
>
> Regards
> Gary
>
> ----- Original Message -----
> From: "Roberto Lucchi" <lucchi@cs.unibo.it>
> To: <nickolas.kavantzas@oracle.com>; <charlton_b@mac.com>;
> <gary@enigmatec.net>; <tony_fletcher@btopenworld.com>; <steve@pi4tech.com>
> Cc: <public-ws-chor@w3.org>; "Claudio Guidi" <cguidi@cs.unibo.it>
> Sent: Wednesday, May 04, 2005 11:56 AM
> Subject: a question about interactions
>
>
> >
> > Dear All,
> >
> > We are a group of researchers of the Dep. of Computer Science of Bologna
> > University which investigates orchestration and choreography languages
> > (some of us are involved in several workshops and conferences of this
> > topic,
> > e.g. WS-FM'05 http://www.cs.unibo.it/WS-FM05/ or ICSOC'05).
> >
> > We are interested in the formal definition of the WS-CDL semantics.
> > In particular, now we are investigating the semantics of interactions by
> > using the Working Draft of December 17, 2004.
> > We are interested to understand if CDL makes it possible to express, in a
> > request-response interaction, that a certain choreography, say C, have to
> > be performed between the request and the response.
> >
> > We have considered two possible solutions:
> >
> > 1. one exploiting work-units which are used to enable C when a state
> > variable becames available after the request exchange.
> >
> > 2. one obtained (is it correct?) by splitting the request-response
> > interaction (note that this is not a call-back):
> >
> > <roleType name="roleC">
> >    <behavior name="BehaviourC" interface="tns:undefinedCPT"/></roleType>
> > <roleType name="RoleD">
> >    <behavior name="BehaviourD" interface="tns:undefinedDPT"/></roleType>
> > <relationshipType name="relationshipCD">
> >   <role type="roleC" behavior="BehaviourC"/>
> >   <role type="roleD" behavior="BehaviourD"/>
> > </relationshipType><channelType name="ChannelCD" action="request-respond">
> >    <role type="roleD"/>
> >    <reference><token name="tns:undefinedRefD"/></reference>
> > </channelType>
> > <choreography name="sampleChoreography" root="true">
> >    <relationship type="relationshipAB"/>
> >    <variableDefinitions>
> >      <variable name="z" informationType="tns:zkType"
> >                roleTypes="roleC" silent="true" />
> >      <variable name="k" informationType="tns:zkType"
> >                roleTypes="roleD" silent="true" />
> >      <variable name="w" informationType="tns:wqType"
> >                roleTypes="roleD" silent="true" />
> >      <variable name="q" informationType="tns:wqType"
> >                roleTypes="roleC" silent="true" />
> >      <variable name="CDchan" channelType="tns:ChannelCD"/>
> >    </variableDefinitions>
> >
> >    <sequence>
> >    <interaction name="interactionCD"  channelVariable="tns:CDchan"
> >                 operation="tns:opCD" align="true" >
> >      <participate relationshipType="tns:relationshipCD"
> >                   fromRole="tns:roleC" toRole="tns:roleD"/>
> >      <exchange name="requestCD"
> >                informationType="tns:zkType" action="request">
> >        <send variable="cdl:getVariable("tns:z", "", "")" />
> >        <receive variable="cdl:getVariable("tns:k", "", "")"/>
> >      </exchange>
> >    </interaction>
> >    <perform>
> >   <!--  Choreography C -->
> >    </perform>
> >    <interaction name="interactionCD"  channelVariable="tns:CDchan"
> >                 operation="tns:opCD" align="true" >
> >      <participate relationshipType="tns:relationshipCD"
> >                   fromRole="tns:roleC" toRole="tns:roleD"/>
> >      <exchange name="responseCD"
> >                informationType="tns:wqType" action="respond">
> >        <send variable="cdl:getVariable("tns:w", "", "")" />
> >        <receive variable="cdl:getVariable("tns:q", "", "")"/>
> >      </exchange>
> >   </interaction>
> >   </sequence>
> > </choreography>
> >
> > In the former we cannot guarantee that C completes before the response
> > (could be useful such a constraint?), while in the latter it seems to be
> > possible but we have some concerns about the syntax. Could you help us to
> > clarify this issues?
> >
> > Thanks in advance
> >
> > Best regards,
> > Roberto Lucchi
> >
> >
> >
> >
> >
> >
> >
>
>
>

Received on Friday, 6 May 2005 15:27:35 UTC