<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: BPMN &#8220;Levels&#8221; and Tool Interoperability</title>
	<atom:link href="http://www.brsilver.com/wordpress/2009/05/11/bpmn-levels-and-tool-interoperability/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brsilver.com/wordpress/2009/05/11/bpmn-levels-and-tool-interoperability/</link>
	<description>Bruce Silver's blog on business process management</description>
	<lastBuildDate>Sat, 27 Feb 2010 10:22:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: BPMN Method and Style - 2-Day Class in San Francisco</title>
		<link>http://www.brsilver.com/wordpress/2009/05/11/bpmn-levels-and-tool-interoperability/comment-page-1/#comment-7006</link>
		<dc:creator>BPMN Method and Style - 2-Day Class in San Francisco</dc:creator>
		<pubDate>Fri, 29 May 2009 16:14:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/?p=539#comment-7006</guid>
		<description>[...] been using the new levels-based method and style approach in private classroom training for the past couple months.  I think it makes learning BPMN [...]</description>
		<content:encoded><![CDATA[<p>[...] been using the new levels-based method and style approach in private classroom training for the past couple months.  I think it makes learning BPMN [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bruce</title>
		<link>http://www.brsilver.com/wordpress/2009/05/11/bpmn-levels-and-tool-interoperability/comment-page-1/#comment-7003</link>
		<dc:creator>bruce</dc:creator>
		<pubDate>Wed, 13 May 2009 15:09:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/?p=539#comment-7003</guid>
		<description>Robert,
You bring up something I forgot to mention.  Unlike XPDL, BPMN 2.0 serializes the subprocess expansion identically whether it is visually represented as inline expansion or hierarchical expansion.  Identical except for the graphics (DI) part, which I think many vendors will ignore.  So, to your point, a tool that does not support inline expansion should - in my opinion - be free to render as standalone expansion on import.  In the BPMN semantic model, there is no difference.

This also calls to mind the question of whether Level 1 or XPDL SIMPLE should distinguish regular subprocesses (&quot;embedded&quot;) from Call Activity (the calling part of a &quot;reusable&quot; subprocess).  I am with Scott on this... Notions of &quot;reuse&quot; are techy things that confuse business people, so I choose to leave them to Level 2.  But it is true that in BPMN 2.0, Subprocess and Call Activity are distinct semantic elements with different graphics.</description>
		<content:encoded><![CDATA[<p>Robert,<br />
You bring up something I forgot to mention.  Unlike XPDL, BPMN 2.0 serializes the subprocess expansion identically whether it is visually represented as inline expansion or hierarchical expansion.  Identical except for the graphics (DI) part, which I think many vendors will ignore.  So, to your point, a tool that does not support inline expansion should &#8211; in my opinion &#8211; be free to render as standalone expansion on import.  In the BPMN semantic model, there is no difference.</p>
<p>This also calls to mind the question of whether Level 1 or XPDL SIMPLE should distinguish regular subprocesses (&#8220;embedded&#8221;) from Call Activity (the calling part of a &#8220;reusable&#8221; subprocess).  I am with Scott on this&#8230; Notions of &#8220;reuse&#8221; are techy things that confuse business people, so I choose to leave them to Level 2.  But it is true that in BPMN 2.0, Subprocess and Call Activity are distinct semantic elements with different graphics.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Shapiro</title>
		<link>http://www.brsilver.com/wordpress/2009/05/11/bpmn-levels-and-tool-interoperability/comment-page-1/#comment-7002</link>
		<dc:creator>Robert Shapiro</dc:creator>
		<pubDate>Wed, 13 May 2009 12:50:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/?p=539#comment-7002</guid>
		<description>1. Expanded subprocesses may be useful for didactic purposes and can be good for simple embedded subprocesses, particularly when they are AdHoc. But, should this be a criteria for model portability? Does it mean that if a process is exported with an expanded subprocess that another tool, on importing it, has to show the expanded subprocess?
2.I think OR gatweways are a big problem. The execution semantics are challenging because it requires a complex analysis to determine what to do at OR merges. Multiple inputs at an activity are now defined as an XOR (exclusive) merge and I think that is good. XPDL inherited a more sophisticated underlying semantics (Transition restrictions) which allowed more complicated logic both on the inputs and the outputs of an activity. This may help power users but basically obscures the sequence flow logic. In my opinion leaving out gateways is a shortcut to be used only when it is clear what is meant. So multiple parallel outputs from an activity is a clear shortcut for sticking in a parallel split. Multiple inputs is a clear shortcut for sticking in an Exclusive (XOR) merge.  Multiple outputs, some with conditions, is arguably a mess.</description>
		<content:encoded><![CDATA[<p>1. Expanded subprocesses may be useful for didactic purposes and can be good for simple embedded subprocesses, particularly when they are AdHoc. But, should this be a criteria for model portability? Does it mean that if a process is exported with an expanded subprocess that another tool, on importing it, has to show the expanded subprocess?<br />
2.I think OR gatweways are a big problem. The execution semantics are challenging because it requires a complex analysis to determine what to do at OR merges. Multiple inputs at an activity are now defined as an XOR (exclusive) merge and I think that is good. XPDL inherited a more sophisticated underlying semantics (Transition restrictions) which allowed more complicated logic both on the inputs and the outputs of an activity. This may help power users but basically obscures the sequence flow logic. In my opinion leaving out gateways is a shortcut to be used only when it is clear what is meant. So multiple parallel outputs from an activity is a clear shortcut for sticking in a parallel split. Multiple inputs is a clear shortcut for sticking in an Exclusive (XOR) merge.  Multiple outputs, some with conditions, is arguably a mess.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sfrancis</title>
		<link>http://www.brsilver.com/wordpress/2009/05/11/bpmn-levels-and-tool-interoperability/comment-page-1/#comment-7001</link>
		<dc:creator>sfrancis</dc:creator>
		<pubDate>Wed, 13 May 2009 05:05:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/?p=539#comment-7001</guid>
		<description>Bruce, 

great post as usual, interesting food for thought.  
re: the question around merge vs. or-join semantics - I think simply that bpmn practitioners need to do a better job of explaining why it behaves that way - as you did - because split/join semantics are always explicitly modeled, and otherwise you have merely decision/merge semantics.  it is actually a pretty simple rule and works well, though it takes getting used to. 

regarding your 3 points: 
1. expanded subprocesses are nice eye candy , but a bit confusing at implementation level - some tools have expanded subprocesses, but not &quot;nested processes&quot; that can be re-used by multiple parent processes.  some have limits about how deep you can go.  some allow no expanded subprocesses but do the reusable nested processes.  at the &quot;novice&quot; level i prefer to keep this to just a visual discussion and not get into the re-use aspects. 

2. OR gateway.  Although it is important to understand, new modelers will make LOTS of mistakes about the right split/join (gateways) to use.  Better to just get them to approximately diagram the right thing, and then have an expert quiz them about the actual semantics they want on these splits and joins depending on the circumstances. 

3. yep, makes sense to me...</description>
		<content:encoded><![CDATA[<p>Bruce, </p>
<p>great post as usual, interesting food for thought.<br />
re: the question around merge vs. or-join semantics &#8211; I think simply that bpmn practitioners need to do a better job of explaining why it behaves that way &#8211; as you did &#8211; because split/join semantics are always explicitly modeled, and otherwise you have merely decision/merge semantics.  it is actually a pretty simple rule and works well, though it takes getting used to. </p>
<p>regarding your 3 points:<br />
1. expanded subprocesses are nice eye candy , but a bit confusing at implementation level &#8211; some tools have expanded subprocesses, but not &#8220;nested processes&#8221; that can be re-used by multiple parent processes.  some have limits about how deep you can go.  some allow no expanded subprocesses but do the reusable nested processes.  at the &#8220;novice&#8221; level i prefer to keep this to just a visual discussion and not get into the re-use aspects. </p>
<p>2. OR gateway.  Although it is important to understand, new modelers will make LOTS of mistakes about the right split/join (gateways) to use.  Better to just get them to approximately diagram the right thing, and then have an expert quiz them about the actual semantics they want on these splits and joins depending on the circumstances. </p>
<p>3. yep, makes sense to me&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bruce</title>
		<link>http://www.brsilver.com/wordpress/2009/05/11/bpmn-levels-and-tool-interoperability/comment-page-1/#comment-7000</link>
		<dc:creator>bruce</dc:creator>
		<pubDate>Tue, 12 May 2009 17:57:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/?p=539#comment-7000</guid>
		<description>Marlon,
Funny you should bring this up, because Vishal Saxena of Oracle has been on a similar campaign lately.  He even managed to resurrect this issue for reconsideration in last week&#039;s team meeting.  I don&#039;t know what the outcome of that was.  Perhaps Vishal can comment?

I am conflicted on the matter. I agree that making the implicit uncontrolled merge semantics OR-join instead of XOR (ie pass-through) would a)conform to business modelers&#039; expectations (as you note) and b)save valuable real estate on the page.  On the other hand, it is inconsistent with BPMN&#039;s notion of sequence flow as control flow, so that without an intervening gateway (or the diamond-on-the-tail thing), completion of one node automatically enables the next one.  More important for me, it is a major change at the last minute, and a semantic difference from BPMN 1.x.  I would have to make 11th-hour changes to my book, my training, etc.  Not a compelling argument perhaps, but I think the inconsistency with BPMN 1.x might be the determining factor in the team&#039;s decision.

In the end, this is not a question of method and style but fundamental semantics of the notation.  Let&#039;s see what OMG finally decides on the matter.</description>
		<content:encoded><![CDATA[<p>Marlon,<br />
Funny you should bring this up, because Vishal Saxena of Oracle has been on a similar campaign lately.  He even managed to resurrect this issue for reconsideration in last week&#8217;s team meeting.  I don&#8217;t know what the outcome of that was.  Perhaps Vishal can comment?</p>
<p>I am conflicted on the matter. I agree that making the implicit uncontrolled merge semantics OR-join instead of XOR (ie pass-through) would a)conform to business modelers&#8217; expectations (as you note) and b)save valuable real estate on the page.  On the other hand, it is inconsistent with BPMN&#8217;s notion of sequence flow as control flow, so that without an intervening gateway (or the diamond-on-the-tail thing), completion of one node automatically enables the next one.  More important for me, it is a major change at the last minute, and a semantic difference from BPMN 1.x.  I would have to make 11th-hour changes to my book, my training, etc.  Not a compelling argument perhaps, but I think the inconsistency with BPMN 1.x might be the determining factor in the team&#8217;s decision.</p>
<p>In the end, this is not a question of method and style but fundamental semantics of the notation.  Let&#8217;s see what OMG finally decides on the matter.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: marlon_dumas</title>
		<link>http://www.brsilver.com/wordpress/2009/05/11/bpmn-levels-and-tool-interoperability/comment-page-1/#comment-6999</link>
		<dc:creator>marlon_dumas</dc:creator>
		<pubDate>Tue, 12 May 2009 17:28:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/?p=539#comment-6999</guid>
		<description>Bruce,
There is one design choice in BPMN that I have not understood before and maybe now that you have &quot;insider&quot; knowledge you can explain it to me. By default, when two flows point to the same task, the semantics is the same as if the two flows in question converged into an XOR merge gateway and then there was a flow from this &quot;implicit&quot; XOR merge gateway into the task in question. In other words, a token coming from any of the two incoming flows activates the task.
Now, why wouldn&#039;t the semantics be a bit different here: when two flows point to the same task, the semantics should be the the same as if the two flows in question converged into an OR gateway and then there was a flow from this &quot;implicit&quot; OR-join gateway to the task in question.
This simple design choice in the standard would obviate in many cases the need for merge gateways, and would be quite handy when doing &quot;high-level design&quot;. The OR gateway simply behaves like an AND gateway or like an XOR gateway depending on the context. In high-level process models, people could omit merge gateways and simply connect multiple incoming flows to a single  task. The merge gateways could be added later when making the models more detailed and executable, since it is likely that in many process execution engines, the OR-join will not be executed as efficiently as XOR or AND-joins.
I know this is a bit of a side-track with respect to the questions you pose in your post, but it is also somehow related. Because the question you&#039;re asking basically boils down to &quot;What subset of BPMN do I need for high-level process modeling&quot;? This is basically your level 1 palette and the usage guidelines that would be associated to this palette.</description>
		<content:encoded><![CDATA[<p>Bruce,<br />
There is one design choice in BPMN that I have not understood before and maybe now that you have &#8220;insider&#8221; knowledge you can explain it to me. By default, when two flows point to the same task, the semantics is the same as if the two flows in question converged into an XOR merge gateway and then there was a flow from this &#8220;implicit&#8221; XOR merge gateway into the task in question. In other words, a token coming from any of the two incoming flows activates the task.<br />
Now, why wouldn&#8217;t the semantics be a bit different here: when two flows point to the same task, the semantics should be the the same as if the two flows in question converged into an OR gateway and then there was a flow from this &#8220;implicit&#8221; OR-join gateway to the task in question.<br />
This simple design choice in the standard would obviate in many cases the need for merge gateways, and would be quite handy when doing &#8220;high-level design&#8221;. The OR gateway simply behaves like an AND gateway or like an XOR gateway depending on the context. In high-level process models, people could omit merge gateways and simply connect multiple incoming flows to a single  task. The merge gateways could be added later when making the models more detailed and executable, since it is likely that in many process execution engines, the OR-join will not be executed as efficiently as XOR or AND-joins.<br />
I know this is a bit of a side-track with respect to the questions you pose in your post, but it is also somehow related. Because the question you&#8217;re asking basically boils down to &#8220;What subset of BPMN do I need for high-level process modeling&#8221;? This is basically your level 1 palette and the usage guidelines that would be associated to this palette.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: frenchdk</title>
		<link>http://www.brsilver.com/wordpress/2009/05/11/bpmn-levels-and-tool-interoperability/comment-page-1/#comment-6998</link>
		<dc:creator>frenchdk</dc:creator>
		<pubDate>Mon, 11 May 2009 23:07:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/?p=539#comment-6998</guid>
		<description>Expanded (inline) subprocess. 
I really like this as an opportunity to show where the design of an activity is heading. The subprocess may not be completely understood or defined at the time a Level 1 diagram is appropriate or sufficient but using an inline subprocess can explain ideas about organisational peculiarities better than just the activity name or a note somewhere else.

OR gateway
I would like the OR gateway to be available even in early modelling stages as it has specific meaning that may be relevant well before people worry about a specific executable. I am particularly anti anything that deliberately ignores the &#039;rules&#039; of the BPMN specification because I feel that will cause problems in exchanging models between tools where A is pedantic and B is lax.

Pools, message flow, and Message start/end events. 
I am really in favour of these constructs from the earliest point of modelling if the expected end point is an executable BP that is derived from the BP work. There is a practical difference between knowing all the information of the process and having the information constrained by the content and timing of a message. I think that there is merit in breaking what may be seen as a single process through multiple areas of responsibility in the organisation (say widget provisioning through sales, manufacturing, finance) into separate pools to formalise the relationship between areas of responsibility.</description>
		<content:encoded><![CDATA[<p>Expanded (inline) subprocess.<br />
I really like this as an opportunity to show where the design of an activity is heading. The subprocess may not be completely understood or defined at the time a Level 1 diagram is appropriate or sufficient but using an inline subprocess can explain ideas about organisational peculiarities better than just the activity name or a note somewhere else.</p>
<p>OR gateway<br />
I would like the OR gateway to be available even in early modelling stages as it has specific meaning that may be relevant well before people worry about a specific executable. I am particularly anti anything that deliberately ignores the &#8216;rules&#8217; of the BPMN specification because I feel that will cause problems in exchanging models between tools where A is pedantic and B is lax.</p>
<p>Pools, message flow, and Message start/end events.<br />
I am really in favour of these constructs from the earliest point of modelling if the expected end point is an executable BP that is derived from the BP work. There is a practical difference between knowing all the information of the process and having the information constrained by the content and timing of a message. I think that there is merit in breaking what may be seen as a single process through multiple areas of responsibility in the organisation (say widget provisioning through sales, manufacturing, finance) into separate pools to formalise the relationship between areas of responsibility.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
