ISSUE 1101: clarification.

ISSUE 1101: The operational behaviour involving "complete condition" is not clear

*2.4.7. Choreography Life-line, the eighth para.

I wrote:

 > The operational behaviour involving "complete condition" is not clear.
 > Is the condition evaluated lock-step, at each action? It at least
 > needs transaction semantics for all related variables.

This is based on a literal reading of the draft (which is what the
public would do). In the choreography element, we specify "complete"
condition. This is not shared by multiple roles but are local to
each of them. Hence I wonder how we know all these different
complete conditions are matched.

I believe the only possible way is

(1) For each role to evaluate it each time as computation
proceeds;
(2) If it evaluates to true it would pause a bit, asks a coordinator
(of some sort, should be provided by infrastructure) about the global
situation;
(3) If everybody agrees it is the time to complete well let's complete.

We need two-phrase commit or some sort to make this precise, but
this is technical (and anyway as far as it conforms to 1.6, timing
assumptions, it should be OK).

There are two further notes:

* If this is what is expected, we should put some such bits (that we
assume "all should agree that it is the time to complete" so that
the expected behaviour is clear. My proposal, slightly changing
what I wrote, is:

    "A complete condition MUST be possible to be matched in all Roles that
    participate in the Choreography, for which we assume an appropriate
    idea of synchronisation."

I am not satisfied with this, but some such line would be necessary.

* Adding operational bits is not going to execution logic, we need
to specify behaviours consistently and clearly. So it does not
violate e.g. 1.5.

I will write soon about the next issu, Issue 1107. I hope these
will be ready for today's conf call.

kohei

Received on Tuesday, 22 March 2005 13:03:43 UTC