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.

27 comments:

Antoine 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).

mchinosi 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...

cheap wedding gowns,
discount bridal gowns,
China wedding dresses,
discount designer wedding dresses,
China wedding online store,

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

huyuni said...

quelle chaussures pumapaire de chaussures pour hommes choisir?!? La réponse est toute simple:chaussures nike une paire de baskets en partie vernies. du 17ème au 5ème rang, qui lui offre une place dans un top 5 largement tn requindominé par les sites de vente de produits high-tech. Le site de réservation d'hôtels Bookings.com gagne pour sa part 47 places et atteint le 8ème rang.

huyuni said...

Charlestoncheap columbia jackets. turned a pair of double plays to do the trick. spyder jacketsThe had at least one runner on in every inning but the first and outhit the RiverDogs by a 12-6 margin Lawal should be a focal point of the Yellow cheap polo shirts along with highly touted newcomer, 6-9 Derrick Favors, rated as the No. 1 power forward on the ESPNU 100. The Yellow Jackets

huyuni said...

Cheap Brand Jeans ShopMen Jeans - True Religion Jeans, burberry polo shirtsGUCCI Jeans, Levi's Jeans, D&G Jeans, RED MONKEY Jeans, Cheap JeansArmani Jeans, Diesel Jeans, Ed hardy Jeans, Evisu Jeans, Women JeansJack&Jones Jeans...Lacoste Polo Shirts, , Burberry Polo Shirts.wholesale Lacoste polo shirts and cheap polo shirtswith great price. clothingol.com offers lot of 10 lacoste polo shirts and lot of 20 cheap polo shirts. clothingol.com offers classic fit polo shirts. polo clothing

huyuni said...

nike shoes & Puma Shoes Online- tn nike,puma shoes,puma cat, baskets cheap nike shox, air max.cheap nike shox r4 torch, cheap nike air, nike running shoes air max, puma speed and more. Paypal payment.nike running shoes Enjoy your shopping experience on Nike & Puma Shoes Online Store.

huyuni said...

Thank you so much!!cheap polo shirts men'ssweate,Burberry Polo Shirts lacoste sweater, ralph lauren Columbia Jackets,ski clothing. Free Shipping, PayPal Payment. Enjoy your shopping experience on mensclothingus.com.You can find the father who desire fashionable, intellectual mens clothing simultaneouslyGod bless you!I really agree with your opinions.Also,there are some new fashion things here,gillette razor blades.gillette mach3 razor bladesfor men.As for ladies,gillette venus razor blades must the best gift for you in summer,gillette fusion blades are all the best choice for you.Fantastic!God bless you!Meanwhile,you can visit my ,we have the highest quality but the lowest price fashion products wholesale from China.Here are the most popular China Wholesale products for all of you.You can visit .Also the is a great choice for you.

Rose said...

guest blogger invitation

Hello,

This is Rose writing from www.huliq.com. I visited your blog and liked your content.

Would you be interested to send us a guest post on any of the issues related to the topics that you cover in your blog. We will publish it in our site www.huliq.com

In return with each guest blog we will give one link in the author's byline back to your blog. We only ask that the guest post ( we prefer it be a news coverage, sources can be Google News, CNN, MSNBC, Yahoo News, BBC and others) be a unique story and not be published in your blog.

HULIQ is indexed by Google News and Google requires that the length of the unique news is at least 5 paragraphs. We desire it to be at least 6 paragraphs if possible. And that all need to be a unique content. Once you send us a new story totally unique we will immediately publish it with you link in it, and within 15 minutes it should be indexed by Google News.

Also, please structure author byline as follows:

author's name:
author's e-mail:
author's blog url:

Please let me know if you may have any questions about www.huliq.com.

If you want to consult the topic with me first that's perfectly fine as well.

Many thanks
ruzik.mail@gmail.com

Anonymous said...

情趣用品情趣

正妹視訊網頁設計

情趣用品情趣用品情趣


威而柔自慰套自慰套SM充氣娃娃充氣娃娃潤滑液飛機杯按摩棒跳蛋性感睡衣威而柔自慰套自慰套SM充氣娃娃充氣娃娃潤滑液飛機杯按摩棒跳蛋性感睡衣

自慰器自慰器

Arctura Sportura Coutura Watches said...

Rare Seiko is biggest watches old seiko watches industry. Made the first self-winding wristwatch vintage 1970's watches.Seiko timepieces are
designed to be water resistant.Collections Elite Collections Tressia and La Grand Sport, which includes the
Arctura ,Sportura and Coutura. Most selling items are Kinetic Perpetual, Kinetic Chronograph, Kinetic Auto Relay, Kinetic, Analog Digital,Chronograph, Flight Computer and Perpetual Calendar
For more information on quality luxury watches

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.

gharley 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.

products said...

China Wholesalers has been described as the world’s factory. buy products wholesaleThis phenomenom is typified by the rise ofbusiness. Incredible range of products available with China Wholesale “Low Price and High Quality” not only reaches directly to their target clients worldwide but also ensures that wholesale from china from China means margins you cannot find elsewhere and China Wholesale will skyroket your profits.china wholesale productsbuy china wholesalewholesale chinawholesale productsbuy products

products said...

We offer designer wedding dresses, custom wedding dress, cheap cell phonescheap wedding dressesbridal gowns, plus size wedding dresseswedding gowns, beautiful wedding dressesFlower Girl Dresses and so on. Buy tailor-made discount wedding dresses anddesigner wedding dresses designer lace wedding dresses to be a special brides now!

products said...

Wholesale Gemstone cheap Gemstone Jewelry from China, discount wholesale jewelry Beads, wholesale Gemstone jewelry cheapest Wholesale Naruto anime and manga cheap cosplay costumes, cheap Naruto cosplay costumes on sale, buy Naruto cosplay naruto online shop.Wholesale anime and manga naruto cosplay costumes, cheap cosplay costumes on sale, buy anime cosplay costumes online shop

qcahz said...

You are right, I believe that there will be many readers like you
Chanel Cambon?Christian Louboutin?Chanel Bags Chanel Clutches Jimmy Choo

Chanel Denim Handbags?Manolo Blahnik Chanel nappa handbags

Yves Saint Lauret?Christian Louboutin Boots Gucci Handbagsdiscount christianlouboutinManolo Blahnik Gucci Bags?Jimmy Choo? Gucci Wallets?Louis Vuitton BagsYves Saint Lauret? YSL?Christian Louboutin?http://www.bestlouisvuitton.com/http://www.buylouboutin.com/http://www.yitingbuy.com/http://www.discount-christianlouboutin.com/