If we were to support signals of any sort, and I view this is named
message types, then we need to be sure that they have general
applicability in all domains of interest. If we cannot then we would
need to consider an ontological approach in which the ontology of the
domain is loaded and that is what provides the definitions of the
named message types. This approach would obviate the need to define
"built-in" named message types and retain all of the expressiveness
that they provide but rooting it in the applicable domains.
Cheers
Steve T
On 19 Jul 2004, at 20:56, Jean-Jacques Dubray wrote:
Arial0000,0000,8080David:
Arial0000,0000,8080
Arial0000,0000,8080Yes,
I think this is exactly what I am saying, the coupling is at the state
level not at the message level (type of messages, choreography of the
protocol, … all this is “context” specific (not just implementation
specific)).
Arial0000,0000,8080
Arial0000,0000,8080JJ-
Arial0000,0000,8080
TahomaFrom:Tahoma
david.burdett@commerceone.com [mailto:david.burdett@commerceone.com]
Tahoma
Sent:
Monday, July 19, 2004 12:39 PM
TahomaTo:Tahoma
Jean-Jacques Dubray; gary@enigmatec.net; tony.fletcher@choreology.com;
public-ws-chor@w3.org
TahomaCc:Tahoma
Robin.Milner@cl.cam.ac.uk; kohei@dcs.qmul.ac.uk; yoshida@doc.ic.ac.uk
TahomaSubject:Tahoma
RE: State Alignment and Standard Signals
Times New Roman
Arial0000,0000,FFFFJJ
Times New Roman
Arial0000,0000,FFFFYou
said ...
Times New Roman
Arial0000,0000,FFFF>>>
Arial0000,0000,FFFF
and leave the protocol detail to the
implementation 0000,0000,8080–
Arial0000,0000,8080<
This is unfortunately not possible, because there is a coupling
between the states of the protocol and the choreography definition,
otherwise it does not make any sense to use a protocol<
Arial0000,0000,8080<<<<<<
Times New Roman0000,0000,FFFF
Arial0000,0000,8080Couldn't
you have different protocols that could result in the same end state?
Also, I think that you could have different messages, with different
representations, binding to transport protocols, etc, that had the
same semantic.
Times New Roman0000,0000,FFFF
Arial0000,0000,8080David
Tahoma-----Original
Message-----
TahomaFrom:Tahoma
Jean-Jacques Dubray [mailto:jeanjadu@Attachmate.com]
TahomaSent:Tahoma
Monday, July 19, 2004 10:27 AM
TahomaTo:Tahoma
Gary Brown; Burdett, David; tony.fletcher@choreology.com;
public-ws-chor@w3.org
TahomaCc:Tahoma
Robin.Milner@cl.cam.ac.uk; kohei@dcs.qmul.ac.uk; yoshida@doc.ic.ac.uk
TahomaSubject:Tahoma
RE: State Alignment and Standard Signals
Arial0000,0000,8080Gary:
Arial0000,0000,8080
Arial0000,0000,8080I
don’t think that the “re-use” is in this dimension. For instance,
either a choreography requires state alignment or it does not. The
proposal I made allows for the state alignment protocol to be changed
independently of the choreography definition, therefore allowing it to
be reused in widely different contexts (ebXML, RN, …). A particular
protocol can be used, provided that the protocol you use yield the
same “states” (this is the only level of coupling required between the
protocol and the choreography).
Arial0000,0000,8080
Arial0000,0000,8080
Times New Roman
ArialFrom a business
perspective, it would be nice to be able to simply specify the
business protocol as,
Times New Roman
Arial<
Arial......
Arial<
Times New Roman
ArialOR
Arial
Times New Roman
Arial< - if synchronous
Times New Roman0000,0000,8080
Arial0000,0000,8080<
I thought this was precisely the proposal I made, because you can
define an interaction template with an embedded protocol, the
resulting usage of that template looks exactly like the statements
above. It simply means that a few more messages are exchanged as part
of the interaction. Did you take a look at BPSS and the concept of
Business Transaction and Business Transaction Activities (usage of a
business transaction in a collaboration definition)? <
Arial0000,0000,8080
Times New Roman
Arialand leave the protocol
detail to the
implementation 0000,0000,8080–
Arial0000,0000,8080<
This is unfortunately not possible, because there is a coupling
between the states of the protocol and the choreography definition,
otherwise it does not make any sense to use a protocol<
Arial0000,0000,8080
Arial i.e. this information
would then only be required by an endpoint generation tool, to ensure
that the endpoint used the correct protocol, or an endpoint monitoring
tool to ensure that it interprets the correct set of "on the wire"
messages as an interaction.
Times New Roman
ArialThe problem (you might
reply) is that this does not enable us to do different paths depending
on whether the acknowledgement failed, or the acceptance was negative.
However, if we look at how a BPSS endpoint might react in this
situation, possibly this could be viewed as a exception path in CDL?
This may enable us to define the relevant alternate paths, without
having to make the different stages of the protocol explicit in the
choreography?
Arial0000,0000,8080<The
question is on what basis you take the decision to enter an exception
path? Only a protocol failure can do that, hence the coupling with
protocol states (not protocol message interchanges)<
Arial0000,0000,8080
Times New Roman0000,0000,8080Again,
the proposal I made is for CDL not to define a specific protocol but
rather allow us to define interaction templates that include a
protocol message interchange and resulting states. Such choreography
could then be used, say in a BPSS context, where the protocol specific
messages are the BPSS signals bound to the choreography protocol
states.
Arial0000,0000,8080
Arial0000,0000,8080Jean-Jacques
Times New Roman
Arial----- Original Message
-----
Arial
From:
0000,0000,FFFFJean-Jacques
Dubray
ArialTo:Arial
0000,0000,FFFFGary
Brown ;
0000,0000,FFFFdavid.burdett@commerceone.com
; 0000,0000,FFFFtony.fletcher@choreology.com
; 0000,0000,FFFFpublic-ws-chor@w3.org
ArialCc:Arial
0000,0000,FFFFRobin.Milner@cl.cam.ac.uk
; 0000,0000,FFFFkohei@dcs.qmul.ac.uk
; 0000,0000,FFFFyoshida@doc.ic.ac.uk
ArialSent:Arial
Friday, July 16, 2004 5:02 PM
ArialSubject:Arial
RE: State Alignment and Standard Signals
Times New Roman
Arial0000,0000,8080This
is how I would approach the problem.
Arial0000,0000,8080
Arial0000,0000,8080I
would create a construct called Protocol. A protocol is itself a
choreography, and more precisely a choreography template. This
choreography is of course performed between abstract roles (let’s call
them initiating role and responding role).
Arial0000,0000,8080
Arial0000,0000,8080
Arial0000,0000,8080Initiating
Responding
Arial0000,0000,8080
--- Request ---> Abstract message
Arial0000,0000,8080
<<---- Receipt --- (concrete)
signal
Arial0000,0000,8080
<<---- Acceptance--- (concrete) signal
Arial0000,0000,8080
<<---- Response --- Abstract message
Arial0000,0000,8080
--- Receipt ---> (concrete)
signal
Arial0000,0000,8080
--- Acceptance---> (concrete) signal
Arial0000,0000,8080
Arial0000,0000,8080When
this template is used, every abstract message must be associated to a
concrete message.
Arial0000,0000,8080
Arial0000,0000,8080In
addition I should be able to associate “states” to this choreography,
e.g.
Arial0000,0000,8080
-Times New Roman0000,0000,8080
Arial0000,0000,8080RequestAccepted
= positive request Acceptance signal received,
Arial0000,0000,8080
-Times New Roman0000,0000,8080
Arial0000,0000,8080ResponseAccepted
= positive Response Acceptance signal received.
Arial0000,0000,8080
“Positive” acceptance/response represents an XPath expression on a
message.
Arial0000,0000,8080
Arial0000,0000,8080In
a choreography, I should be able to specify (apologies, I don’t know
the syntax by heart):
Arial0000,0000,8080
Arial0000,0000,8080<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
… process payment …
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080
… choreography ends …
Arial0000,0000,8080
<
Arial0000,0000,8080
<
Arial0000,0000,8080<
Arial0000,0000,8080<
Arial0000,0000,8080
Arial0000,0000,8080
Arial0000,0000,8080I
promised David that I will make a formal proposal, I hope within the
next couple of weeks. Is this kind of approach acceptable?
Arial0000,0000,8080
Arial0000,0000,8080Jean-Jacques
Arial0000,0000,8080
TahomaFrom:Tahoma
Gary Brown [mailto:gary@enigmatec.net]
Tahoma
Sent:
Friday, July 16, 2004 8:25 AM
TahomaTo:Tahoma
Jean-Jacques Dubray; david.burdett@commerceone.com;
tony.fletcher@choreology.com; public-ws-chor@w3.org
TahomaCc:Tahoma
Robin.Milner@cl.cam.ac.uk; kohei@dcs.qmul.ac.uk; yoshida@doc.ic.ac.uk
TahomaSubject:Tahoma
Re: State Alignment and Standard Signals
Times New Roman
ArialHi
Times New Roman
ArialDo you have an example
of how the CDL would look in order to represent this state alignment
(e.g. as you have described in your article), in such a manner that
the interactions are protocol independent? Would you see a "state
aligned" interaction only completing after the second (acceptance)
signal in the BPSS case?
Times New Roman
ArialFor example,
Arial
Times New Roman
Arial <B />
Times New Roman
Arialwould only be deemed to
have completed once B had sent the acceptance message to A?
Times New Roman
ArialCurious to know how such
a state alignment protocol could be modelled in CDL in an abstract
manner that is decoupled from a particular binding........
Times New Roman
ArialRegards
ArialGary
Times New Roman