Proposal: To remove the initiate flag on the Interation

In the section 2.5.2.4, the interaction is defined as having an optional 'initiate' flag:

"An Interaction activity can be marked as a Choreography initiator when the optional initiate attribute is set to "true". The default for this attribute is "false"."

However, in section 2.4.7, it says:

"The root Choreography is the only top-level Choreography that MAY be initiated."

and then,

"A root Choreography is initiated when the first Interaction, marked as the Choreography initiator, is performed. ....... An Interaction designated as a Choreography initiator MUST be the first action performed in a Choreography."

Therefore, by implication, the first interaction of a root choreography is always going to initiate the choreography - so why do we need a flag to specify this fact? Similarly, if two or more mutually exclusive or concurrent interactions may initiate the choreography, these could be inferred by having the appropriate <choice> or <parallel> constructs to group the set of initial interactions.


Proposed Change:

1) Remove para from 2.4.7:
"A root Choreography is initiated when the first Interaction, marked as the Choreography initiator, is performed. Two or more Interactions MAY be marked as initiators, indicating alternative initiation actions. In this case, the first action will initiate the Choreography and the other actions will enlist with the already initiated Choreography. An Interaction designated as a Choreography initiator MUST be the first action performed in a Choreography. If a Choreography has two or more Work Units with Interactions marked as initiators, then these are mutually exclusive and the Choreography will be initiated when the first Interaction occurs and the remaining Work Units will be disabled. All the Interactions not marked as initiators indicate that they will enlist with an already initiated Choreography."

2) Remove the 'initiate' flag from the Interaction syntax,  and the following para (from section 2.5.2.4):

"An Interaction activity can be marked as a Choreography initiator when the optional initiate attribute is set to "true". The default for this attribute is "false"."

3) Remove the 'initiate' flag from the example at the end of section 2.5.2.4.

Received on Thursday, 21 October 2004 08:53:10 UTC