W3C home > Mailing lists > Public > public-ws-chor@w3.org > May 2003

Re: Partial executability/ determinism of a Chor description language

From: Assaf Arkin <arkin@intalio.com>
Date: Thu, 29 May 2003 11:31:12 -0700
Message-ID: <3ED651F0.2050409@intalio.com>
To: Ricky Ho <riho@cisco.com>
CC: "Yaron Y. Goland" <ygoland@bea.com>, public-ws-chor@w3.org

I think the absolute requirement is that you are able to specify who 
decides what. Forget about the how for a second.

When A and B interact with each other and reach a fork in the road, from 
which they can go one of several paths, the question now becomes who 
makes the decision. If it's the first participant to decide we get into 
interesting race conditions. We may have wonderful technologies to deal 
with race condition, but the reality is that businesses try to avoid 
these problems by trying to work out their issues up front. You work out 
these issues by agreeing who decides at what point.

If you look at the order accepted/rejected case we are so fond of 
discussing, then the buyer and seller agreeed up front that the seller 
would make a decision at this particular point. They have not agreed 
what decision will be made in each and every case, though they both hope 
it would end up being more acceptance then rejection. And they may not 
agree how the decision is made.

The ability to model "the decision I make" vs "the decision I abide to" 
is an important part of the choreography definition.

As for how the decision is made, we have three options:

1. Absolutely no detail whatsoever.

2. All the information in each and every case.

3. No information unless when otherwise specified.

The way I look at it, option #3 is like having an online service with 
documentation to go along with it. Option #2 is like having an online 
service with no documentation. In either case you have the exact same 
online service, which is what the group focuses about. The fact that in 
some cases some vendors would also like to include additional 
documentation should supported, if it can be done without 
breaking/complicating/obfuscating the online service. Can it be done?

My suggestion is have the following minimal capability in the 
choreography language:

- Use QNames to name decisions

Any implementation of the specification would have at the minimum to 
meet the following requirements:

- Do nothing about it.

For me this appears like a good solution. Those who have absolutely no 
interest in ever defining, parsing, contemplating or alphabetizing 
decisions that are part of the choreography definition have to do 
nothing to fully conform with the spec (see requirement above). Those 
who have an interest in augmenting the choreography definition with 
additional definitions have a mechanism to do so, and can easily figure 
out a solution to allow such information to be shared/used.

Can this be considered a compromise that is acceptable to everyone?


Ricky Ho wrote:

> I think there are 2 kinds of decision logic ...
> 1) Private decision that I want to keep secret
> E.g. If you send me a PO, I will either accept it or reject it.  But I 
> don't want to share with you how I decide.
> 2) Public decision that I want my partners to know about
> E.g. If you send me a PO, I want to tell you that I will reject your 
> PO message if you don't have a valid signature.
> I think WS-Chor should cover the later but not the former.  But I 
> don't think expressing an XPATH necessary mean exposing private 
> decision.  You may intentionally want to expose your decision criteria 
> to your partners so they don't waste time to prepare something invalid.
> Best regards,
> Ricky
> At 09:11 PM 5/27/2003 -0400, Yaron Y. Goland wrote:
>> My personal preference is that nothing be said in the cDl about how 
>> the message is to be processed. E.g. nothing is ever said about the 
>> contents of the message and decisions made on those contents. This is 
>> exactly what BPEL in general and BPEL abstract processes in 
>> particular are intended for. They provide direct insight into how a 
>> participant makes a decision at whatever level of detail one cares to 
>> share.
>> The cDl on the other hand describes just the global behavior without 
>> insight into a particular process. That is its key distinction with 
>> regards to BPEL. If this group chooses to go down the path of 
>> providing the type of message based execution decision described 
>> below inside of the cDl then the working group will be taking a 
>> position that puts it into direct competition with BPEL.
>> There is nothing in the group's charter that says 'thou shalt avoid 
>> competing with BPEL' and perhaps our best technical needs will be met 
>> by such a competition. I personally do not believe so and have 
>> explained my reasoning in my use case/requirements document. But if 
>> we do decide to provide insight into the internals of a process's 
>> execution we should do so with a clear understanding that we are 
>> talking a position in direct competition with BPEL.
>>     Thanks,
>>         Yaron
>>     -----Original Message----- 
>>     From: public-ws-chor-request@w3.org
>>     [mailto:public-ws-chor-request@w3.org]
>>     <mailto:public-ws-chor-request@w3.org%5DOn>On
>>     <mailto:public-ws-chor-request@w3.org%5DOn> Behalf Of Fletcher, Tony 
>>     Sent: Thursday, May 22, 2003 2:41 AM 
>>     To: public-ws-chor@w3.org 
>>     Subject: Partial executability/ determinism of a Chor description
>>     language
>>     Dear Colleagues,
>>     I would like to clarify in my own mind and continue a discussion
>>     o the degree to which a Choreography description language (CDL)
>>     is deterministic or 'executable'.  I think this issue links to
>>     previous threads on the use of information from messages, or not. 
>>     I think we all agree that a CDL will only give a very partial
>>     description of the behaviour of any 'entity' playing a particular
>>     role (and that you do need a full programming language such as
>>     Java or C#  for any sort of 'complete' description. 
>>     However, consider the following: 
>>     Role A sends message 1 to role B 
>>     Role B replies with message 2 to role A 
>>     At this point there may now be say three different messages that
>>     A could next send to B according to the CDL instance and given no
>>     other information. 
>>     Now suppose that message 1 was an order message and message 2 an
>>     order response with a critical information field that says
>>     'accept' or 'reject'. 
>>     The CDL could now say that role A can examine the incoming
>>     message 2 extract the semantic accept or reject and if reject
>>     then send message 3 else send message 4 or message 5 (means of
>>     determining which is not shown in this CDL instance, but would be
>>     in the CPL for that role). 
>>     Without being dependent on the precise syntax of messages, only
>>     some of the semantic elements, I think that some people in this
>>     group would like the above behaviour to be supported by the
>>     WS-Chor language and thus support for this behaviour to be a
>>     requirement. 
>>     Others seem to be arguing for no dependence on message content at
>>     all - perhaps just the name of the message received(?).  Can we
>>     reach an amicable consensus? 
>>     Best Regards     Tony 
>>     A M Fletcher 
>>     Cohesions 1.0 (TM) 
>>     Business transaction management software for application
>>     coordination 
>>     Choreology Ltd., 13 Austin Friars, London EC2N 2JX     UK 
>>     Tel: +44 (0) 20 76701787   Fax: +44 (0) 20 7670 1785  Mobile: +44
>>     (0) 7801 948219 
>>     tony.fletcher@choreology.com
>>     <mailto:tony.fletcher@choreology.com>     (Home: amfletcher@iee.org) 
Received on Friday, 30 May 2003 02:43:20 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:05 UTC