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.

33 comments:

Antoine Toulmé said...

There is no opinion to have. The flow is uncontrolled and there is no merge so B is executed twice, as the rest of the process after it.

The BPMN spec deals with this very clearly. We are working on that particular aspect at Intalio.

Derek Miers said...

Antoine is correct, there are no controls so the branching creates parallel threads of activity, as each one completes (A1 & A2), then B fires each time.

Check the detail in the BPMN Modeling and Reference Guide (co-authored with Steve White).

Vishal Saxena said...

Antonie & Derek,
This Question is about what does the picture convey and not what the spec tells you!
Thats the reason why I am very keen on end users' opinion.
Vishal

Vishal Saxena said...

Pl read the question carefully - Are we saying B, X, Y, Z, C1 and C2 execute twice and D executes 4 times?
OR

They all execute once.

Anonymous said...

I would expect B to execute once - it would wait for both A activities to finish. The same for D. This is derived from IBM's WBM experience.

As far as I am concerned the BPMN 2.0 spec (and UML AD 2.*) says there is an explicit gateway behaiour for B (executed twice). As in case for D, I would say it use UML 2.* spec, and put AND-Join, that means D is executed twice.

Alexander Maystrenko

David French said...

Knowing that the diagram is syntactically correct BPMN, which is true, I would expect uncontrolled behaviour throughout resulting in B executed twice and D four times. There are no conditions expressed, so each fork results in parallel flows. None of the joins cause a sync (or merge) of parallel flows.
So glad that you are working on this at Intalio, Antoine:)

David French said...

Actually, I misspoke, it is not valid BPMN. There is no end event and the spec at 1.1 says in para 9.3.3 End

"If there is a Start Event, then there MUST be at least one End Event."

For extra credit, show that the result is indeterminate if the process is ended with type terminate or cancel.

Gero Decker said...

True, the spec is clear about this issue: B executes twice and D four times.

From my experience with BPMN teaching there are two groups of modelers: (1) those having a flow-charting background. these people immediately understand that one incoming branch being activated is sufficient to activate the activity. (2) people frequently dealing with concurrency. For this second group this semantics is counterintuitive - given that two outgoing sequence flows are a shortcut notation for an AND-split.

I am not a fan of changing the current BPMN semantics. E.g. somebody could bring up the idea of interpreting two incoming sequence flows as shortcut for an OR-join, something I wouldn't support.

It is rather a matter of educating the people and encouraging them to use gateways in the presence of concurrency. A simple rule of thumb could be: only use multiple outgoing sequence flows if they all have conditions attached and exclude each other (therefore not activating multiple branches in any case).

By the way, we are currently setting up a "BPMN best practices" community platform to interactively discuss these matters: http://www.bpmn-community.org (currently it's a beta and only in German - if anyone is interested in pushing such a platform also in English please contact me).

Michele Chinosi said...

Hi Vishal. I agree with Gero Decker: the spec is clear about this issue: B executes twice and D four times. The case represents a multiple merge.

But if I have to answer to your question about what does the picture convey to me, at a first look, assuming not to know BPMN so much in depth (as if I were a common user), I would state that B, X, Y, Z, C1 and C2 execute twice and D executes 4 times. It may be because, as Gero said, two outgoing sequence flows are a shortcut notation for an AND-split. I know the specs are clear, but for one 'uninitiated', intuitively, the most obvious result might be the wrong interpretation.

Pat Krebs said...

I agree with almost everyone here--there are no controls indicated which, per current BPMN specification, means there are parallel independent sequences of activity. A1 and A2 will execute once, B, X, Y, Z, C1, and C2 will execute twice, and D will execute 4 times.

However, this interpretation will only be definite if the picture is intended to be BPMN compliant, and if the reader is familiar with the BPMN spec. The picture on its own is ambiguous without additional clarification.

(I am from Oracle and work with Oracle business process management tools.)

Jim Lange said...

I also agree that B, X, Y, Z, C1 and C2 execute twice and D executes 4 times.

Models must have precise semantics or they are not ultimately useful. However, I have seen many models like this where the modeler and many readers assume that the uncontrolled joins are actually synchronizing joins. This is OK for first-pass abstract models, but not for execution models.

I would recommend that tools issues a validation warning whenever an uncontrolled join is downstream of a an uncontrolled split, AND split, or nonexclusive OR split. A tool could even offer to insert non-exclusive OR join, which would wait for all "in-flight" flows to arrive.

Anonymous said...

Does anyone have a BPMN 2.0 specification release date from OMG? There is a new book available at Amazon “BPMN Method and Style: A levels-based methodology for BPM process modeling and improvement using BPMN 2.0 by Bruce Silver.”
I am a user of BMPN for last 3 years and looking forward for th2 2.0. If anyone have any information is deeply appreciated.

-Monty

Anonymous said...

It may seem that the diagram is not complete as looking at the notations at http://bpt.hpi.uni-potsdam.de/pub/Public/BPMNCorner/BPMN1_1_Poster_EN.pdf, it may not be constructed following the instructions.

It shows
- The A1 and A2 could take the OR condition thus any of the flow will eventuate to B
- An AND condition where A1 and A2 both need to be completed.

It need to shows the activites flow condition to determine OR or AND.

Greg Harley said...

This, while a legal BPMN model is a confusing scenario. Considering we are using an implicit join, B will be executed on completion of both A1 and A2.

Anonymous said...

Generic Pharmacy offers Viagra as a prescription drug for the treatment of erectile dysfunction or impotence.

Anonymous said...

Hi !.
might , perhaps curious to know how one can collect a huge starting capital .
There is no need to invest much at first. You may commense to receive yields with as small sum of money as 20-100 dollars.

AimTrust is what you need
The firm represents an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

Its head office is in Panama with structures around the world.
Do you want to become really rich in short time?
That`s your chance That`s what you wish in the long run!

I feel good, I began to get income with the help of this company,
and I invite you to do the same. It`s all about how to select a proper companion utilizes your savings in a right way - that`s the AimTrust!.
I take now up to 2G every day, and what I started with was a funny sum of 500 bucks!
It`s easy to get involved , just click this link http://pysodatut.greatnow.com/izawyqi.html
and go! Let`s take this option together to become rich

Anonymous said...

I’m a Chaussures Nike huge fan of Fiber Gourmet pasta’s; Cheap Ed Hardy clothingthey taste great and Air Max Chaussures are healthy not only for you but your entire family. Polo shirtThere’s really no difference in the taste between thisTn Requin pasta and your standard pasta, Chaussures SportI couldn’t tell the difference, Polo shirt
neither could any member of my family including my picky children. chaussure sportIt’s nice to know that even while dieting and watching my calorie intake there is an alternative out there that allows me to eat the pasta I want, when I want without the guilt.

Anonymous said...

Can anyone recommend the well-priced RMM tool for a small IT service company like mine? Does anyone use Kaseya.com or GFI.com? How do they compare to these guys I found recently: N-able N-central it support
? What is your best take in cost vs performance among those three? I need a good advice please... Thanks in advance!

Charu said...

I think option one is correct, coz' B might use the process A1 and A2 so , B will execute once and then rest other processes...

Anonymous said...

Good day, sun shines!
There have were times of hardship when I felt unhappy missing knowledge about opportunities of getting high yields on investments. I was a dump and downright pessimistic person.
I have never imagined that there weren't any need in big starting capital.
Nowadays, I feel good, I started to get real income.
It's all about how to choose a correct partner who uses your money in a right way - that is incorporate it in real deals, and shares the profit with me.

You can get interested, if there are such firms? I have to answer the truth, YES, there are. Please be informed of one of them:
http://theblogmoney.com

Anonymous said...

Hi!
You may probably be very curious to know how one can manage to receive high yields on investments.
There is no need to invest much at first.
You may begin to get income with a money that usually is spent
for daily food, that's 20-100 dollars.
I have been participating in one company's work for several years,
and I'm ready to share my secrets at my blog.

Please visit blog and send me private message to get the info.

P.S. I make 1000-2000 per daily now.

[url=http://theinvestblog.com] Online investment blog[/url]

dgdgdf said...

Jimmy Choo Pierced black leather sandals
Jimmy Choo Platform Purple Sandals
Jimmy Choo Platform Sandal

Jimmy Choo Platform Thirsty Blue Sandals
Jimmy Choo Platform Yellow Sandals
Jimmy Choo Satin Sandal

dgdgdf said...

http://www.bootboots.com
http://www.salelouboutin.com
http://www.buylouboutin.com
http://www.bestlouisvuitton.com
http://www.sale-mbt.com
http://www.discount-christianlouboutin.com
Velours Scrunch Boots Miss Clichy 140 boots Robot 120 ankle boots Black Suede/ Leather Lace Up Ankle boots Tina Suede Black Platform Boots Circus Cutout Suede Ankle Boots Deva 120 suede fringed Boots Sigourney Metallc Ankle Boots Miss Dark Brown Miss Suede Black Arielle A Talon ankle Boots Ariella Clou Silver Studded Boots Alta Arielle A Talon Python Short Boots Robot 120 ankle boots Gold babel shoe boots Brown Trottinette 140 ankle boots Brown

dgdgdf said...

Trottinette 140 ankle boots Mouse suede Forever Tina boots Purple fringed suede C'est Moi boots Black C'est Moi boots Pink Charme 100 suede ankle boots Leopard suede boots Christian Louboutin Tuba Tall Boot Fifre Suede Ankle Boot black lace ankle boots Black Lace-Up Boots black fold-over boots black leather knee-high boots peep-toe bootie Christian Louboutin Astraqueen shoe boots platform lace-up bootie Christian Louboutin Suede Black Ankle boots

dgdgdf said...

supra fifre 120 thigh-high boots Christian Louboutin Alta Ariella Talon Leopard Boots Christian Louboutin OTK PlatformAfrica grey suede Boot Christian Louboutin Alta Ariella Talon Leopard Ankle Boots Christian Louboutin black leather ankle boots Christian Louboutin dark red leather ankle boots Manolo Blahnik Something Blue Satin Pump Manolo Blahnik Something Black Satin Pump Black patent leather sandals

Black patent leather sandals
Black sandals with Phnom Penh

sfsdfe said...

cheap Ugg Boots
Ugg Boots on sale
Ugg Boots for sale
Wholesale Ugg Boots
Discount Ugg Boots
cheap, discount UGG Classic Short Boots 5825 for sale
cheap, discount UGG Classic Cardy Boots 5819 for sale
cheap, discount Ugg Bailey Button Boots 5803 for sale
cheap, discount UGG Classic Tall Boots 5815 for sale
cheap, discount UGG Classic Mini Boots 5854 for sale
cheap, discount UGG Ultra Short Boots 5225 for sale
cheap, discount UGG Ultra Tall Boots 5245 for sale
cheap, discount UGG Nightfall Boots 5359 for sale
cheap, discount UGG Sundance 5325 for sale
cheap, discount UGG Handbags for sale
cheap, discount Amelie UGG Casuals 1688 for sale
cheap, discount UGG Dakota 5131 for sale
cheap, discount UGG Tasmina Slipper 1647 for sale


UGG Classic Short Boots
cheap, discount UGG Classic Short Boots 5825 Black for sale
cheap, discount UGG Classic Short Boots 5825 Aqua for sale
cheap, discount UGG Classic Short Boots 5825 Sand for sale
cheap, discount UGG Classic Short Boots 5825 Chestnut for sale
cheap, discount UGG Classic Short Boots 5825 Grey for sale
cheap, discount UGG Classic Short Boots 5825 Chocolate for sale
cheap, discount UGG Classic Short Boots 5826 Tomato for sale

UGG Classic Mini Boots
cheap, discount UGG Classic Mini Boots 5854 Chocolate for sale
cheap, discount UGG Classic Mini Boots 5854 Sand for sale
cheap, discount UGG Classic Mini Boots 5854 Black for sale
cheap, discount UGG Classic Mini Boots 5854 Chestnut for sale
cheap, discount UGG Classic Mini Boots 5854 Grey for sale

Anonymous said...

i honestly love all your writing kind, very exciting.
don't give up and also keep posting due to the fact it simply very well worth to follow it.
impatient to look at even more of your current content pieces, stunning day ;)

Suresh said...

Option 1 (if there is a conditional check(isExists) against each activity before creating it)

combattery84 said...

Dell Y9943 battery
Dell Inspiron 1521 battery
Dell Inspiron 510m battery
Dell Latitude D500 battery
Dell Latitude D520 battery
Dell GD761 battery
Dell NF343 battery
Dell D5318 battery
Dell G5260 battery
Dell Inspiron 9200 battery
Dell Latitude C500 battery
Dell HD438 Battery
Dell GK479 battery
Dell PC764 battery
Dell KD476 Battery
Dell Inspiron 1150 battery
Dell inspiron 8500 battery
Dell Inspiron 4100 battery
Dell Inspiron 4000 battery
Dell Inspiron 8200 battery
Dell FK890 battery
Dell Inspiron 1721 battery
Dell Inspiron 1300 Battery
Dell Inspiron 1520 Battery
Dell Latitude D600 Battery
Dell XPS M1330 battery
Dell Latitude D531N Battery
Dell INSPIRON 6000 battery
Dell INSPIRON 6400 Battery
Dell Inspiron 9300 battery
Dell INSPIRON 9400 Battery
Dell INSPIRON e1505 battery

combattery84 said...

APPLE A1078 Battery 1
APPLE A1079 battery
APPLE A1175 battery
APPLE a1185 battery
APPLE A1189 battery
Acer aspire 5920 battery
Acer btp-arj1 battery
Acer LC.BTP01.013 battery
Acer ASPIRE 1300 battery
Acer ASPIRE 1310 battery
Acer Aspire 1410 battery
Acer ASPIRE 1680 battery

ACER BTP-63D1 battery
ACER BTP-43D1 battery
Acer lc.btp05.001 battery
Acer aspire 3000 battery
Acer Travelmate 4000 battery
ACER aspire 5560 battery
ACER BATBL50L6 battery
ACER TravelMate 240 Battery
ACER BT.00803.004 Battery
ACER Travelmate 4002lmi battery
Acer travelmate 800 battery
Acer aspire 3613wlmi battery
Travelmate 2414wlmi battery
Acer batcl50l battery
Acer Travelmate 2300 battery
ACER aspire 3610 battery
ACER travelmate 4600 battery
Dell Latitude D800 battery

แทงบอล said...

Thank you for your share ,your article is very intresting,i like it so much .jackpot168.com

Anonymous said...

What's Taking place i am new to this, I stumbled upon this I have found It positively useful and it has helped me out loads. I hope to contribute & help different users like its helped me. Good job.

Stop by my weblog :: bucket Truck Safety
Review my site :: bucket trucks used

Anonymous said...

Ηеya! ӏ ϳust wаnted to ask if you еvеr have аny problеms wіth hackers?
Ϻy last blog (wordpresѕ) ωaѕ hаckеd
and I ended up lοsing seνеrаl ωeеks οf hагd ωorκ due to no data backup.
Do уou hаve anу methoԁs
to proteсt аgaіnst hackerѕ?

httρ://Www.Dfw-Taxiсab.сom/2011/07/tаxi-serviсе-in-hurst-tx/
Here is my web site ; DFW cab company