Wednesday, May 06, 2009

BPMN 2.0 Execution Semantics - multiple sequence flows - Opinion Poll

Dear readers (or breaders or blog-readers),
My sincere apologies as I have been away from my blog for the past 6 weeks due to a fracture in my right arm. I love to play cricket and if I get a chance to try the same catch again - I will probably go for it, unless my body has built in a subconscious reflex to not attempt it, hopefully not. Feeling much better now, even though I still need physiotherapy sessions that I hate...
The topic of todays post is really urgent and of utmost important. I seek opinion from BPMN modelers out there as to what they think of the following diagram, tool vendors are also welcome to chime in but please identify yourself to maintain the objectivity of this poll . I can assure you that it is synatctically correct as per BPMN 1.x and upcoming 2.x specification. The question I have is - ok first take a look:

The question is : How many times do you expect the activity B to execute? Further how many times to you expect X, Y, Z, C1, C2 and D to execute.

The options are:
Option1: - B should wait for both A1 & A2 to finish and then execute once. Thus B, X, Y, Z, C1, C2 and D all execute only once.

Option2: - B should NOT wait for both A1 & A2 to finish and execute everytime A1 / A2 finish. Thus B, X, Y, Z, C1, C2 all execute only twice and D will execute four times. Further if there were three branches from start event going to A1, A2 and A3 then B, X, Y, Z, C1, C2 all execute thrice and D will execute six times.

So pl go ahead and choose which option do you think is better and more usable.
I do have an opinion but I dont want to share it now to prevent any prejudice. Please express your viewpoint here.