<?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"
	>
<channel>
	<title>Comments on: Diagrams, Models, and Metamodels&#8230;Oh My!</title>
	<atom:link href="http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/</link>
	<description>Bruce Silver's blog on business process management</description>
	<pubDate>Fri, 25 Jul 2008 16:03:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: mchinosi</title>
		<link>http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-2035</link>
		<dc:creator>mchinosi</dc:creator>
		<pubDate>Wed, 27 Jun 2007 13:36:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-2035</guid>
		<description>Hi Bruce (and Keith).
I'm very glad to read posts as this one! I'm a PhD student in CS at Università degli Studi dell'Insubria (Italy). I work from a couple of years on BPMN and more in general on BPM-related standards and technologies. 
I and my group are aiming to develop an XML-Schema for BPMN, which could integrate either XPDL and BPEL characteristics and features. A sort of join between them. This Schema is based on a new data model we have developed (because the lack of a more formal model, before BPDM has come out). We called this model BPeX, stands for Business Process eXtensions.
It is possible to see our work on our project site (http://bpex.sourceforge.net) or on our new blog (http://bpex.blogspot.com)
I wish to thank you very much for all you are doing!
Any comment would be appreciated.</description>
		<content:encoded><![CDATA[<p>Hi Bruce (and Keith).<br />
I&#8217;m very glad to read posts as this one! I&#8217;m a PhD student in CS at Università degli Studi dell&#8217;Insubria (Italy). I work from a couple of years on BPMN and more in general on BPM-related standards and technologies.<br />
I and my group are aiming to develop an XML-Schema for BPMN, which could integrate either XPDL and BPEL characteristics and features. A sort of join between them. This Schema is based on a new data model we have developed (because the lack of a more formal model, before BPDM has come out). We called this model BPeX, stands for Business Process eXtensions.<br />
It is possible to see our work on our project site (http://bpex.sourceforge.net) or on our new blog (http://bpex.blogspot.com)<br />
I wish to thank you very much for all you are doing!<br />
Any comment would be appreciated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bruce</title>
		<link>http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-707</link>
		<dc:creator>bruce</dc:creator>
		<pubDate>Tue, 27 Mar 2007 04:02:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-707</guid>
		<description>Keith,
That's 3 questions.  I'll give you my answers.  Othere' may vary.

1. yes, correctly meaning a combination of following the spec plus best practices like meaningful labels.  In fact, you shouldn't have to look at the attributes that are not expressed in the diagram.  But the meaning has zero to do with whether the sequence flow comes out of the top side of the activity or the right side, or whether the diagram uses off-page connectors, or whether swimlanes go horizontal or vertical.  Those are diagram things that carry no process semantics.
2. that information should support some purpose beyond simple modeling, such as simulation or execution.
3. from a modeling perspective, no.

I think where we are having trouble speaking with one voice comes from the fact that 2 BPMN tools may interpret the exact same diagram differently -- usually one of them uses the notation incorrectly, i.e. not according the the spec.  Or, more commonly, they may support different subsets of diagram elements.  When I say interpret differently I mean from a modeling (implementation-agnostic) standpoint, not execution.  .

That's the essential difference from BPEL.  BPEL 2.0 has a set of activities and a syntax, and if you're compliant you just have to support it all.  What it doesn't have is a diagram, because, really who cares?  All the BPEL tools I have seen that have a one-to-one mapping between graphical nodes and BPEL activities look different in fine detail but are more or less the same.  If you understand a diagram in one of them, you'll understand the same diagram in another.  And the semantics are the same, guaranteed.  So BPEL has the necessary rigor to be protable, it's just incomplete from a modeling perspective (human tasks, subprocesses, etc) and its enforced block orientation is not business-friendly.

You don't have that rigor with BPMN today, but you could -- if BPMN tool vendors adopted the same attitude.  With pure modeling tools  it's not such a problem, but with BPMS vendors using BPMN as a front end for design it is.  I suspect those vendors like BPMN (and XPDL) precisely because it lets them check off the standards box while retaining the freedom to support only the parts of it that are convenient.

Again you could say this is OMG's issue not WfMC's.  But my original point was that providing more discipline around must-support features of BPMN, along with diagram validation rules, was in fact XPDL's opportunity to make a real difference.  Or possibly still is.</description>
		<content:encoded><![CDATA[<p>Keith,<br />
That&#8217;s 3 questions.  I&#8217;ll give you my answers.  Othere&#8217; may vary.</p>
<p>1. yes, correctly meaning a combination of following the spec plus best practices like meaningful labels.  In fact, you shouldn&#8217;t have to look at the attributes that are not expressed in the diagram.  But the meaning has zero to do with whether the sequence flow comes out of the top side of the activity or the right side, or whether the diagram uses off-page connectors, or whether swimlanes go horizontal or vertical.  Those are diagram things that carry no process semantics.<br />
2. that information should support some purpose beyond simple modeling, such as simulation or execution.<br />
3. from a modeling perspective, no.</p>
<p>I think where we are having trouble speaking with one voice comes from the fact that 2 BPMN tools may interpret the exact same diagram differently &#8212; usually one of them uses the notation incorrectly, i.e. not according the the spec.  Or, more commonly, they may support different subsets of diagram elements.  When I say interpret differently I mean from a modeling (implementation-agnostic) standpoint, not execution.  .</p>
<p>That&#8217;s the essential difference from BPEL.  BPEL 2.0 has a set of activities and a syntax, and if you&#8217;re compliant you just have to support it all.  What it doesn&#8217;t have is a diagram, because, really who cares?  All the BPEL tools I have seen that have a one-to-one mapping between graphical nodes and BPEL activities look different in fine detail but are more or less the same.  If you understand a diagram in one of them, you&#8217;ll understand the same diagram in another.  And the semantics are the same, guaranteed.  So BPEL has the necessary rigor to be protable, it&#8217;s just incomplete from a modeling perspective (human tasks, subprocesses, etc) and its enforced block orientation is not business-friendly.</p>
<p>You don&#8217;t have that rigor with BPMN today, but you could &#8212; if BPMN tool vendors adopted the same attitude.  With pure modeling tools  it&#8217;s not such a problem, but with BPMS vendors using BPMN as a front end for design it is.  I suspect those vendors like BPMN (and XPDL) precisely because it lets them check off the standards box while retaining the freedom to support only the parts of it that are convenient.</p>
<p>Again you could say this is OMG&#8217;s issue not WfMC&#8217;s.  But my original point was that providing more discipline around must-support features of BPMN, along with diagram validation rules, was in fact XPDL&#8217;s opportunity to make a real difference.  Or possibly still is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kswenson</title>
		<link>http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-702</link>
		<dc:creator>kswenson</dc:creator>
		<pubDate>Mon, 26 Mar 2007 23:54:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-702</guid>
		<description>OK, my example was a disaster, and obviously served only to distract us from the point.  Sorry, let me try again.

Let me ask a simple question:  assuming that a product uses BPMN correctly, do you believe that the BPMN diagram (the BPMN visual element, as well as the BPMN-defined attributes) carries the meaning that the author put into it?

If there is additional meaning that is not in the diagram itself (including the attributes), how did it get there?

Is there a distinction between the "meaning" of a process that the author of a diagram intends, and the "semantics" of the process?</description>
		<content:encoded><![CDATA[<p>OK, my example was a disaster, and obviously served only to distract us from the point.  Sorry, let me try again.</p>
<p>Let me ask a simple question:  assuming that a product uses BPMN correctly, do you believe that the BPMN diagram (the BPMN visual element, as well as the BPMN-defined attributes) carries the meaning that the author put into it?</p>
<p>If there is additional meaning that is not in the diagram itself (including the attributes), how did it get there?</p>
<p>Is there a distinction between the &#8220;meaning&#8221; of a process that the author of a diagram intends, and the &#8220;semantics&#8221; of the process?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bruce</title>
		<link>http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-697</link>
		<dc:creator>bruce</dc:creator>
		<pubDate>Mon, 26 Mar 2007 21:05:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-697</guid>
		<description>On the 3 violations:
1. Your references don't match with mine (OMG Feb 2001 version of the spec), but I think I know what you're saying.  In the Feb 01 spec p118 fig 10.31 , representing Prof. van der Aalst's "multiple merge" pattern, is technicallly allowed by BPMN.  But usually it's drawn by mistake, since, as I said, you get 2 instances of each activity downstream to this merge for just 1 process instance.  I believe this will break process engines and simulation engines.  In my training I advise students to avoid this, but you are correct in that it is "technically" allowed.
2.  From the spec p40 "If an End Event is used, then there MUST NOT be other flow elements that do not have any outgoing Sequence Flow—all other Flow Objects MUST be a source of at least one Sequence Flow." Perhaps this is ambiguous as well, since you could argue that there is an outgoing sequence flow from the event.  But my interpretation is that means outgoing from the activity, i.e. a normal flow.
3. Well even if my eyesight were better and I could see the dotted line, an association to a compensation activity does not work like a sequence flow.  The compensation activiity is not a normal process activity; it has the little rewind thingy and it has no sequence flows in or out.

But my real point is that BPMN does carry portable semantics if it is used in strict conformance with the spec (plus, admittedly, some best practicese about ambiguous patterns to avoid).  And that the rules could be checked in BPMN tools... but they're not.</description>
		<content:encoded><![CDATA[<p>On the 3 violations:<br />
1. Your references don&#8217;t match with mine (OMG Feb 2001 version of the spec), but I think I know what you&#8217;re saying.  In the Feb 01 spec p118 fig 10.31 , representing Prof. van der Aalst&#8217;s &#8220;multiple merge&#8221; pattern, is technicallly allowed by BPMN.  But usually it&#8217;s drawn by mistake, since, as I said, you get 2 instances of each activity downstream to this merge for just 1 process instance.  I believe this will break process engines and simulation engines.  In my training I advise students to avoid this, but you are correct in that it is &#8220;technically&#8221; allowed.<br />
2.  From the spec p40 &#8220;If an End Event is used, then there MUST NOT be other flow elements that do not have any outgoing Sequence Flow—all other Flow Objects MUST be a source of at least one Sequence Flow.&#8221; Perhaps this is ambiguous as well, since you could argue that there is an outgoing sequence flow from the event.  But my interpretation is that means outgoing from the activity, i.e. a normal flow.<br />
3. Well even if my eyesight were better and I could see the dotted line, an association to a compensation activity does not work like a sequence flow.  The compensation activiity is not a normal process activity; it has the little rewind thingy and it has no sequence flows in or out.</p>
<p>But my real point is that BPMN does carry portable semantics if it is used in strict conformance with the spec (plus, admittedly, some best practicese about ambiguous patterns to avoid).  And that the rules could be checked in BPMN tools&#8230; but they&#8217;re not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kswenson</title>
		<link>http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-696</link>
		<dc:creator>kswenson</dc:creator>
		<pubDate>Mon, 26 Mar 2007 20:39:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2007/03/26/diagrams-models-and-metamodelsoh-my/#comment-696</guid>
		<description>Bruce,

I didn't use a BPMN modeling tool because I was purposefully trying to create a nonsense diagram.  I would not be at all surprised if you found things in the drawing that violated rules.  I am not an expecte in the BPMN edge cases, and from what I can gather you have a pretty detailed understanding. The spec is 200 pages long, and there are a lot of rules, and I have only a limited time to make the blog entry.

But strangely enough, I am not sure that I agree with the three "violations" that you found:

1. Actually the spec specifically states in section 4.5.2 that the gateway is not required, see figures 21 and 22 being states as equivalent.

2. I will take your word for this, but I would read this as the flow continues when the message is received.

3. That is not a sequence flow coming out of the compensation.  Look at it closer, it is an association.  Probably my fault for not making the dotted line distinct enough.

I completely agree with you that vendors have in general not taken enough care to conform to the rules.  I want to talk about this a bit in my next post.  But this experience here points that even an expert can find it difficult to be unambiguous.  But lets set this aside -- I was trying to make a meaningless diagram, and we can agree that at the very least I have accomplished that.

The main point I was trying to make, and I don't think you have disagreed with, is that this diagram, regardless of how meaningful or meaningless, can be serialized to XPDL, and recovered from XPDL completely, and with all semantics (if there were any) intact.  I will stick with the story that this is the right thing to serialize.

This post, however, wanders into the subject of "why can't we all write BPMN diagrams that conform to the rules".  There is a deeper reason, which I hope to explore in my next post.</description>
		<content:encoded><![CDATA[<p>Bruce,</p>
<p>I didn&#8217;t use a BPMN modeling tool because I was purposefully trying to create a nonsense diagram.  I would not be at all surprised if you found things in the drawing that violated rules.  I am not an expecte in the BPMN edge cases, and from what I can gather you have a pretty detailed understanding. The spec is 200 pages long, and there are a lot of rules, and I have only a limited time to make the blog entry.</p>
<p>But strangely enough, I am not sure that I agree with the three &#8220;violations&#8221; that you found:</p>
<p>1. Actually the spec specifically states in section 4.5.2 that the gateway is not required, see figures 21 and 22 being states as equivalent.</p>
<p>2. I will take your word for this, but I would read this as the flow continues when the message is received.</p>
<p>3. That is not a sequence flow coming out of the compensation.  Look at it closer, it is an association.  Probably my fault for not making the dotted line distinct enough.</p>
<p>I completely agree with you that vendors have in general not taken enough care to conform to the rules.  I want to talk about this a bit in my next post.  But this experience here points that even an expert can find it difficult to be unambiguous.  But lets set this aside &#8212; I was trying to make a meaningless diagram, and we can agree that at the very least I have accomplished that.</p>
<p>The main point I was trying to make, and I don&#8217;t think you have disagreed with, is that this diagram, regardless of how meaningful or meaningless, can be serialized to XPDL, and recovered from XPDL completely, and with all semantics (if there were any) intact.  I will stick with the story that this is the right thing to serialize.</p>
<p>This post, however, wanders into the subject of &#8220;why can&#8217;t we all write BPMN diagrams that conform to the rules&#8221;.  There is a deeper reason, which I hope to explore in my next post.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
