-
Key: BPMN21-362
-
Legacy Issue Number: 19318
-
Status: open
-
Source: planet.nl ( kwantes)
-
Summary:
(p.336 The basic rule of Choreography Activity sequencing is this: ?The Initiator of a Choreography Activity MUST have been involved (as Initiator or Receiver) in the previous Choreography Activity.
As far as I can tell this rule seems to imply some ambiguity as to the execution semantics of the Choreography diagram. To explain this, I give an example of two different Choreography designs of one and the same collaboration:
Design version 1 involves 5 message exchanges , three choreography activities A, B and C and 4 participants, 1,2,3 and 4. The activities are listed below in execution order :
1. Activity A :
1.1. 1 sends message to 2
2. Activity B:
2.1. 3 sends message to 2
2.2. 2 sends message to 4
2.3. 4 returns message to 2
3. Activity C:
3.1. 2 sends confirmation of message sent by 1 (in 1.1.)Design version 2 involves the same 5 message exchanges into two choreography activities A and B involving the same 4 participants listed below in execution order:
{Question 1: are observations below correct or not? }
1. Activity A :
1.1. 1 sends message to 2
1.2. 2 sends confirmation of message sent by 1 (in 1.1., but after receiving message sent by 4 in 2.3.)
2. Activity B:
2.1. 3 sends message to 2
2.2. 2 sends message to 4
2.3. 4 returns message to 2Both designs seem to meet the criterion mentioned in the BPMN standard specification mentioned in the first paragraph above. The second has the advantage that the message exchanges 1.1. and 1.2. which are logically strongly related are combined in one activity. But the execution semantics implied by the two designs are quite different. The first design implies that an activity can only start after completion of the previous activity. The second design implies that an activity can only start after the previous activity has started. The basic rule of Choreography Activity sequencing seems to allow both interpretations.
{Question 2: is the issue below a valid point in your opinion ? }If the first interpretation is chosen, then there is the question what is meant by “completion”. That might mean different things for the sender and receiver of the last message exchanged. The sender is finished when he sent the last message. The receiver might first need to do some internal processing before it is completed. So this interpretation runs the risk of being ambiguous.
{Question 3: can you please comment on this ? }The second interpretation could make it less straightforward to understand the ordering of activities from the diagram. On the other hand it does allow more room for combining logically related message exchanges in one activity (as 1.1. and 1.2. in activity A in the second interpretation). This raises the general question on how the Choreography diagrams and Conversation diagrams are conceptually related. They seem to be addressing a similar requirement for expressing communication between Business actors, but it is unclear how they are or should be related.
-
Reported: BPMN 2.0 — Sun, 30 Mar 2014 04:00 GMT
-
Updated: Fri, 6 Mar 2015 20:57 GMT
BPMN21 — Sequencing rule for Choreography activities causes ambiguous execution semantics?
- Key: BPMN21-362
- OMG Task Force: BPMN 2.1 RTF