<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Marlon Dumas on BPMN-BPEL round-trip engineering</title>
	<atom:link href="http://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/</link>
	<description></description>
	<lastBuildDate>Fri, 10 Apr 2009 11:39:20 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Marlon Dumas</title>
		<link>http://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/#comment-282</link>
		<dc:creator>Marlon Dumas</dc:creator>
		<pubDate>Tue, 03 Apr 2007 05:31:11 +0000</pubDate>
		<guid isPermaLink="false">https://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/#comment-282</guid>
		<description>Hi Yi,
The example that you refer to can be translated using the pattern-matching technique presented in the following paper:
http://eprints.qut.edu.au/archive/00006810/01/6810.pdf
More generally, acyclic fragments of BPEL process definitions such that each activity is only executed once for each execution of the fragment, can be translated using the technique described in section 4 of the following paper:
http://eprints.qut.edu.au/archive/00005266/01/5266.pdf
Clearly, we can define sophisticated pattern-matching algorithms that can translate large classes of BPMN models into BPEL process definitions. However, the fundamental problems of BPMN-to-BPEL round-tripping are yet to be resolved, including:
1) Not every BPMN model can be translated into &quot;readable&quot; BPEL code, especially when the BPMN model contains structures such as the ones I mentioned in the above posting. The fact that such structures do not appear in most &quot;real&quot; scenarios doesn&#039;t mean that the user can not draw such BPMN models (or even worse ones). And what will the round-tripping tool do is the user tries to translate such models? Will it simply crash? Will such BPMN models be forbidden by the tool? And if so, how can we explain to the user which BPMN models can be translated into BPEL and which ones can&#039;t? Or how can we enforce that the user comes up only with BPMN models that the tool can effectively translate into BPEL?
2) Even if we could translate large classes of BPMN models into BPEL code using pattern-matching, it doesn&#039;t mean that we can round-trip. If you take the resulting BPEL code and try to trivially convert it back into BPMN, you may end up with a very different BPMN model than the original one, especially if the original BPMN model contains unstructured cycles. So same questions as above: How can we explain to the user, in simple terms, which models can be round-tripped and which models can&#039;t? Or how can we enforce in the tool that the user is only able to design BPMN models that can actually be round-tripped? Note that round-tripping is more than just translating: it&#039;s about being able to maintain the source and target models in sync.
I think more work is needed in this area if we want to realise the vision of BPMN-to-BPEL round-tripping that many tool vendors (including eClarus, Oracle, etc.) are pursuing.
And even if we had round-tripping, it is unclear that users will actually benefit from it, because BPMN models are usually designed by nusiness analysts whereas BPEL processes are defined by software analysts/developers, and the concerns addressed by these stakeholders are quite different. For a discussion on this issue, see the following post:
http://every20.wordpress.com/2007/03/18/bpmn-to-bpel-round-tripping/</description>
		<content:encoded><![CDATA[<p>Hi Yi,<br />
The example that you refer to can be translated using the pattern-matching technique presented in the following paper:<br />
<a href="http://eprints.qut.edu.au/archive/00006810/01/6810.pdf" rel="nofollow">http://eprints.qut.edu.au/archive/00006810/01/6810.pdf</a><br />
More generally, acyclic fragments of BPEL process definitions such that each activity is only executed once for each execution of the fragment, can be translated using the technique described in section 4 of the following paper:<br />
<a href="http://eprints.qut.edu.au/archive/00005266/01/5266.pdf" rel="nofollow">http://eprints.qut.edu.au/archive/00005266/01/5266.pdf</a><br />
Clearly, we can define sophisticated pattern-matching algorithms that can translate large classes of BPMN models into BPEL process definitions. However, the fundamental problems of BPMN-to-BPEL round-tripping are yet to be resolved, including:<br />
1) Not every BPMN model can be translated into &#8220;readable&#8221; BPEL code, especially when the BPMN model contains structures such as the ones I mentioned in the above posting. The fact that such structures do not appear in most &#8220;real&#8221; scenarios doesn&#8217;t mean that the user can not draw such BPMN models (or even worse ones). And what will the round-tripping tool do is the user tries to translate such models? Will it simply crash? Will such BPMN models be forbidden by the tool? And if so, how can we explain to the user which BPMN models can be translated into BPEL and which ones can&#8217;t? Or how can we enforce that the user comes up only with BPMN models that the tool can effectively translate into BPEL?<br />
2) Even if we could translate large classes of BPMN models into BPEL code using pattern-matching, it doesn&#8217;t mean that we can round-trip. If you take the resulting BPEL code and try to trivially convert it back into BPMN, you may end up with a very different BPMN model than the original one, especially if the original BPMN model contains unstructured cycles. So same questions as above: How can we explain to the user, in simple terms, which models can be round-tripped and which models can&#8217;t? Or how can we enforce in the tool that the user is only able to design BPMN models that can actually be round-tripped? Note that round-tripping is more than just translating: it&#8217;s about being able to maintain the source and target models in sync.<br />
I think more work is needed in this area if we want to realise the vision of BPMN-to-BPEL round-tripping that many tool vendors (including eClarus, Oracle, etc.) are pursuing.<br />
And even if we had round-tripping, it is unclear that users will actually benefit from it, because BPMN models are usually designed by nusiness analysts whereas BPEL processes are defined by software analysts/developers, and the concerns addressed by these stakeholders are quite different. For a discussion on this issue, see the following post:<br />
<a href="http://every20.wordpress.com/2007/03/18/bpmn-to-bpel-round-tripping/" rel="nofollow">http://every20.wordpress.com/2007/03/18/bpmn-to-bpel-round-tripping/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yi Gao</title>
		<link>http://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/#comment-157</link>
		<dc:creator>Yi Gao</dc:creator>
		<pubDate>Tue, 02 Jan 2007 22:50:12 +0000</pubDate>
		<guid isPermaLink="false">https://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/#comment-157</guid>
		<description>You may see the diagram at http://www.brsilver.com/wordpress/wp-content/yigao1.gif</description>
		<content:encoded><![CDATA[<p>You may see the diagram at <a href="http://www.brsilver.com/wordpress/wp-content/yigao1.gif" rel="nofollow">http://www.brsilver.com/wordpress/wp-content/yigao1.gif</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yi Gao</title>
		<link>http://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/#comment-156</link>
		<dc:creator>Yi Gao</dc:creator>
		<pubDate>Tue, 02 Jan 2007 22:48:05 +0000</pubDate>
		<guid isPermaLink="false">https://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/#comment-156</guid>
		<description>The fundamental technical challenge in BPMN-BPEL mapping is pattern recognition because BPMN presents a business process in graph, while BPEL is a block structured language overall. The challenge will not disappear with the evolution of both specifications if the structural disparity stays (I believe it is the case).

Let me explain my point using the same example (figure 1.a in the paper mentioned above). If an analyst describes a business process with a discriminator pattern in word document, and hands it over to you, a BPEL developer, how are you going to implement it? You will say it is not a trivial task based on the current BPEL specification. I agree. In other words, the current BPEL specification does not support this use case well. The question is whether it is a common use case. If this use case is common, the BPEL specification will be enhanced to meet the requirement.

The algorithm presented in some research papers using pattern matching can only handle simple cases. What we have achieved in eClarus Business Process Modeler is to handle far more complicated cases through our pattern recognition algorithm, static flow token analysis. For example, the following diagram is transformed to a &quot;readable&quot; BPEL flow with synchronization links. </description>
		<content:encoded><![CDATA[<p>The fundamental technical challenge in BPMN-BPEL mapping is pattern recognition because BPMN presents a business process in graph, while BPEL is a block structured language overall. The challenge will not disappear with the evolution of both specifications if the structural disparity stays (I believe it is the case).</p>
<p>Let me explain my point using the same example (figure 1.a in the paper mentioned above). If an analyst describes a business process with a discriminator pattern in word document, and hands it over to you, a BPEL developer, how are you going to implement it? You will say it is not a trivial task based on the current BPEL specification. I agree. In other words, the current BPEL specification does not support this use case well. The question is whether it is a common use case. If this use case is common, the BPEL specification will be enhanced to meet the requirement.</p>
<p>The algorithm presented in some research papers using pattern matching can only handle simple cases. What we have achieved in eClarus Business Process Modeler is to handle far more complicated cases through our pattern recognition algorithm, static flow token analysis. For example, the following diagram is transformed to a &#8220;readable&#8221; BPEL flow with synchronization links.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
