<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Frank Michael Kraft&#039;s Blog &#187; Model Driven</title>
	<atom:link href="http://www.bpmnforum.net/blog27/category/model-driven/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bpmnforum.net/blog27</link>
	<description>Unifying Applications and Business Process Management in the Cloud</description>
	<lastBuildDate>Mon, 23 Jan 2012 15:28:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
		<item>
		<title>The future of BPM</title>
		<link>http://www.bpmnforum.net/blog27/bpm/the-future-of-bpm/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/the-future-of-bpm/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 14:19:26 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Adaptive Processes]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Model Driven]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/bpm/the-future-of-bpm/</guid>
		<description><![CDATA[Recently I have the impression that more and more people are asking: &#8220;What is the future of BPM&#8221;? Economic circumstances seem to change quite fast; people ask themselves if BPM is part of the solution or part of the problem. &#8230; <a href="http://www.bpmnforum.net/blog27/bpm/the-future-of-bpm/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently I have the impression that more and more people are asking: &#8220;What is the future of BPM&#8221;?
</p>
<p>Economic circumstances seem to change quite fast; people ask themselves if BPM is part of the solution or part of the problem.
</p>
<p>I for my part had to struggle with the thought of: &#8220;Why are there so many changes, so much reorganization, and so much instability in goals?&#8221; Sometimes, if you worked very hard to achieve a goal, only to find in the end, that circumstances have changed, this can be very frustrating. And yes, to a certain degree stability is a prerequisite for success, because only then you can build up competency that is needed for success.
</p>
<p>However, instead of lamenting I thought: Why not make a virtue of necessity? The change is there, it comes from the market, and it also makes sense, otherwise there is no progress. It is not about trying to keep the circumstances stable, but it is about adaptation to the circumstances – if necessary.
</p>
<p>Of course, this basic idea brings you to BPM modeling at all. Why model at all? Why not hard code software and write prose for work instructions? The answer is: Hopefully if we have the model, we can change it faster and then we can change the organizational processes and the software faster, if necessary. And yes, it is true. If you have that model, and it is available in a tool where you have all the links, references and also descriptions, if you have a &#8220;living model&#8221; then you can adapt it faster – together with software and organizational processes. This is essentially true.
</p>
<p>If we even have model driven development or model execution, then this change cycle is even faster. But it presupposes an investment in model driven technology that most have not done. And many have failed trying, because it requires mastery of the subject and it requires an overall strategy. It is possible, but difficult. This is my observation.
</p>
<p>Still I thought: Something is missing. Something that is really very adaptive. A tool for a process that can be changed while is running. This idea caught me and I was not able to forget it. If we had such a tool, I thought, then processes could be adapted by those people that execute the processes. This is incredibly powerful, I thought. Because they are the people that know best, how the process should work.
</p>
<p>I made the experience, even when standardized processes were tool – supported, then people got notifications, the processes speeded up by orders of magnitude. If any of you had an Excel-Controlled process and then you tool-supported it, they you know what I mean. It is just much faster. However every change in the process needed the developer to help – in this case.
</p>
<p>So – if I can combine the one with the other, the flexibility of Excel with the notifications of the tool-supported process, then, I thought, this must be a powerful tool. And I started to build it as cloud-based software from scratch.
</p>
<p>Then I found out, that process experts all over the world have similar thoughts. We met, we wrote two books – you know the story. Now it is called &#8220;Adaptive Case Management&#8221;.
</p>
<p>Back to the question what the future of BPM is. My personal opinion is that Adaptability will win over so-called Efficiency. More and more processes and process models will be judged by the question: &#8220;How adaptive is this process?&#8221; – more than &#8220;How efficient is this process?&#8221;. Efficiency still is important, but Adaptability will be more dominant in the future, because there is nothing more futile than to do the wrong thing very efficiently.
</p>
<p>And – alas! – so many processes and process models today are very far from being good adaptive processes and models. So there is much to do! The best process experts we can find will be needed to make standard processes more adaptive. But it will pay off – because those companies that are more adaptive will win the competition.
</p>
<p>What can I recommend to you? Start thinking about it! Ask yourself the question, what can I do to make this process more adaptive? What are the characteristics of an adaptive process? Where do I want adaptability, where do I not want it? Which circumstances might change and which effect does this have on the process?
</p>
<p>The more we start to think about these questions, the better we will be equipped for the future.
</p>
<p>Maybe in the future we will call it APM – Adaptive Process Management – or ABPM – Adaptive Business Process Management. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/the-future-of-bpm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full Cycle Coaching in Choreography Modeling</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/full-cycle-coaching-in-choreography-modeling/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/full-cycle-coaching-in-choreography-modeling/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 08:25:41 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Practice]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Model Driven Governance]]></category>
		<category><![CDATA[Coaching]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/uncategorized/full-cycle-coaching-in-choreography-modeling/</guid>
		<description><![CDATA[I want to shortly explain the context of my approach to Business Process and Choreography Modeling Coaching. My guiding philosophy is a full cycle coaching approach. That means, that not only the creation of choreography models is the goal, but &#8230; <a href="http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/full-cycle-coaching-in-choreography-modeling/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I want to shortly explain the context of my approach to Business Process and Choreography Modeling Coaching. My guiding philosophy is a full cycle coaching approach. That means, that not only the creation of choreography models is the goal, but the role of them within the context of the preceding and succeeding steps. I intend to explain this in more detail in Webinars and Seminars in the future.</p>
<p><img src="http://www.bpmnforum.net/blog27/wp-content/uploads/2010/03/030910_0825_FullCycleCo11.png" alt="" /></p>
<h1>Model Business Process</h1>
<p>First of all the Business Process itself is modeled. The focus of this activity is to identify the steps that need to be performed to reach the goal and their dependency. This is done irrespective of the participants, which are not completely clear at this point in time.</p>
<h1>Break into Participants</h1>
<p>This is a design decision. Often Participants are companies of the business world. Still it is a design decision how fine or coarse granular they are designed and which part of the process is executed in which participant. For example it is possible to define different departments within a company as one or many participants.</p>
<h1>Model Choreography</h1>
<p>Now the interaction between participants can be modeled by means of the choreography model. This is a top-down approach. Therefore it defines the frame of subsequent detailed process modeling within the participants.</p>
<h1>Model Public Processes / Services of Participants</h1>
<p>As a next step the public processes and services of the participants can be modeled. It is decisive to model which services which participant exposes and which constraints exist between the service operations (e.g. an order needs to be confirmed, before it can be delivered).</p>
<p>If a complete system is designed from scratch, the public process models and the services are designed as To-Be processes and services. But in most instances the participants will at least in part already exist. Therefore As-Is models will be created and must be aligned with the To-Be model. This is the most challenging part of all. Because if the public process of a participant cannot be freely designed, because the cost to change it is too high, then the choreography must be changed, which in turn means, that the other participant may need to change. This is the most challenging negotiation in the design process.</p>
<h1>Derive Business Objects</h1>
<p>Before an implementation can start, Business Objects, which implement the behavior of the participants, need to be derived. The behavior of the Business Objects needs to be made consistent with the public behavior of the participant.</p>
<p>In the end the public behavior of the participant will be an abstract process, while the business objects will be concrete. This will also be very clear, when it is time to model correlation rules – i.e. which message instance is processed by which process instance. At this point in time, the most natural process instance will be the business object instance. Remember: The public process is only an abstract process – therefore it does not have instances.</p>
<h1>Model Common Monitoring Process</h1>
<p>Now the details have been modeled and we want to re-aggregate the execution of the processes into a common process view on instance level. The Monitoring Process View is needed as a re-simplification of the already modeled details. In the optimal case the monitoring process is equal to the original process model which stood at the beginning. Most probably there will be deviations for good reasons. This of course is also a good exercise to re-confirm the original requirements and justify the deviations from it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/full-cycle-coaching-in-choreography-modeling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ERP / BPM / SOA</title>
		<link>http://www.bpmnforum.net/blog27/bpm/erp-bpm-soa/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/erp-bpm-soa/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 06:13:39 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Business Process Execution Language]]></category>
		<category><![CDATA[Business Process Modeling Notation]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[Enterprise resource planning]]></category>
		<category><![CDATA[Process management]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Systems engineering]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=497</guid>
		<description><![CDATA[I was recently asked if I like this idea: Handle everything, that is coded in an ERP systems today as Process Patterns and instead design it as process models, that can be adapted to the requirements of the customer. The &#8230; <a href="http://www.bpmnforum.net/blog27/bpm/erp-bpm-soa/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was recently asked if I like this idea: Handle everything, that is coded in an ERP systems today as Process Patterns and instead design it as process models, that can be adapted to the requirements of the customer. The context of the discussion was if the combination of ERP/BPM/SOA would not have tremendous potential.</p>
<p>I aswered, that I have experience with that and that I agree that there is a tremendous potential with that. That really was an interesting discussion, because I did not hear such analysis before in the discussions in the public marketplace. I think this is the right direction to think.</p>
<p>I had already governed the design of the process of about 200 or more business objects, creating about 2.000 models including roughly about 5.000 web service operations. I didn&#8217;t use BPMN for that, because it was not flexible enough for this purpose, neither any of the existing languages. I used an own Domain Specific Language (DSL) for Modeling the behavior of those Business Objects.</p>
<p>My summary of that exercise is, that I agree to the original question. Only by modeling the process of Business Objects which are part of the ERP system, the ERP system&#8217;s web services will as a result have the right granularity. What is the right granularity for web services? Reusability. If web services are reusable, then they pay off most. In order for them to be reusable, they need to fulfil certain conditions. A web service operation should only do one thing at a time., i.e. not trigger an endless chain of activities in the system. It should have clearly defined preconditions. The effects and results of the web service operations must be clearly defined in terms, that can also be preconditions to other web service operations. That are the most important criteria in my view.</p>
<p>A system must be designed for this philosophy from the beginning. I strongly believe that adding web services to an existing system falls short of this goal. Even if it has some value, it would not use the full potential.</p>
<p>In general what I miss in the public standards is a language to describe the behavior of web services. Yes, BPMN 2.0 goes into that direction. But BPMN 2.0 still has to prove that it can fulfil the promise in practice. I think to a degree it can. It will turn out later, if it is possible to simplify the language or if it becomes an inspiration for other approaches (e.g. constraint based instead of workflow based).  And using BPMN 2.0 in itself does not guarantee the success. Additional guidance is necessary, certain quality criteria that each model must fulfil.</p>
<p>However, if the behavior of web service operations of an ERP system is defined, and if the granularity of the web service operations are so, that they are reusable, then the potential is very big. Because it means, that it is possible to attach own processes to that ERP service and even to interweave own processes in-between ERP processes. For example to add an approval before the release of an order under certain conditions, to add an own method of calculating benefits for the payroll and the like.</p>
<p>However as a limitation to the original question I would say, that not all of the processes modeled could be customized or changed arbitrarily. There are certain core processes, that the ERP system offers, that can not be changed without the danger of losing the consistency of the process. Therefore it is clearly necessary to describe which part of the process needs to remain stable and which parts of the process can change or are open for additions and interweaving. This of course must be part of the model.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/erp-bpm-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My life in the cloud: Combine Salesforce and XING</title>
		<link>http://www.bpmnforum.net/blog27/model-driven/model-driven-development/my-life-in-the-cloud-combine-salesforce-and-xing/</link>
		<comments>http://www.bpmnforum.net/blog27/model-driven/model-driven-development/my-life-in-the-cloud-combine-salesforce-and-xing/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 13:25:30 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Adaptive Processes]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Cloud applications]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Force.com]]></category>
		<category><![CDATA[Salesforce.com]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=459</guid>
		<description><![CDATA[Today I wanted to do a little bit of CRM &#8211; manage my Leads. I asked myself how I could utilize Salesforce.com together with XING. I searched, but did not quickly find a ready-to-use integration. Therefore I quickly extended Salesforce &#8230; <a href="http://www.bpmnforum.net/blog27/model-driven/model-driven-development/my-life-in-the-cloud-combine-salesforce-and-xing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I wanted to do a little bit of CRM &#8211; manage my Leads. I asked myself how I could utilize Salesforce.com together with XING. I searched, but did not quickly find a ready-to-use integration.</p>
<p>Therefore I quickly extended Salesforce with what I wanted.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-1-459">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.bpmnforum.net/blog27/model-driven/model-driven-development/my-life-in-the-cloud-combine-salesforce-and-xing/?show=slide">
			[Show as slideshow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.bpmnforum.net/blog27/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=1&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-11" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.bpmnforum.net/blog27/wp-content/gallery/salesforce-and-xing/1-XING Links in Salesforce.jpg" title=" " class="shutterset_set_1" >
								<img title="1-XING Links in Salesforce.jpg" alt="1-XING Links in Salesforce.jpg" src="http://www.bpmnforum.net/blog27/wp-content/gallery/salesforce-and-xing/thumbs/thumbs_1-XING Links in Salesforce.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-12" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.bpmnforum.net/blog27/wp-content/gallery/salesforce-and-xing/2-XING Profile in Salesforce.jpg" title=" " class="shutterset_set_1" >
								<img title="2-XING Profile in Salesforce.jpg" alt="2-XING Profile in Salesforce.jpg" src="http://www.bpmnforum.net/blog27/wp-content/gallery/salesforce-and-xing/thumbs/thumbs_2-XING Profile in Salesforce.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-13" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.bpmnforum.net/blog27/wp-content/gallery/salesforce-and-xing/3-XING Group Membership in Salesforce.jpg" title=" " class="shutterset_set_1" >
								<img title="3-XING Group Membership in Salesforce.jpg" alt="3-XING Group Membership in Salesforce.jpg" src="http://www.bpmnforum.net/blog27/wp-content/gallery/salesforce-and-xing/thumbs/thumbs_3-XING Group Membership in Salesforce.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>It is a lightweight integration with minimum data redundancy. Within a matter of one hour I added four links into my Lead.</p>
<ol>
<li>Link to XING Profile</li>
<li>Link to XING Group Membership</li>
<li>Link to XING Messages &#8211; Inbox</li>
<li>Link to XING Messages &#8211; Outbox</li>
</ol>
<p>These Links are calculated from the Name of the Lead, so I do not need to enter them. The only thing I need to enter is the profile name in itself &#8211; in my example FrankMichael_Kraft. Probably this can be calculated as well &#8211; if I can confirm if they are constructed.</p>
<p>The resulting page is displayed within the salesforce Lead. I can interact with that page as well.</p>
<p>So I have minimum data redundancy: I need not to copy the correspondence into the lead for example. I just use Salesforce mainly to maintain the status of the Lead.</p>
<p>So what I like about the Salesforce approach to CRM is:</p>
<ul>
<li>There are ready-to-use Business Objects &#8211; I can start in a matter of minutes.</li>
<li>It is relatively easy to add new fields and links.</li>
<li>The new fields and links are operative immediately. No deployment, whatever. Just run.</li>
</ul>
<p>What I do not like so much about the Salesforce approach to CRM (as of my knowledge of today):</p>
<ul>
<li>I&#8217;d prefer more a social approach to CRM. I disregard mass email production. This is my preference.</li>
<li>It is not clear to me how Lead Activities integrate with Email outside of Salesforce CRM.</li>
<li>To add a Link you have to manually add it to every (in my example 4) layouts to be complete.</li>
<li>I first missed the link construction syntax. However there was no errormessage. Just no page displayed.</li>
<li>In the customization of Leads it promises to be able to change the Lead Process. But all you can do is to remove one or more of the 4 predefined statuses. This is much less than I expected.</li>
</ul>
<p>However I am quite happy about this lean solution, that I can use right away.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/model-driven/model-driven-development/my-life-in-the-cloud-combine-salesforce-and-xing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BPMN Diagram Exchange Reflections</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/bpmn-diagram-exchange-reflections/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/bpmn-diagram-exchange-reflections/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 13:55:44 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN Standard]]></category>
		<category><![CDATA[BPMN in Practice]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Business Process Modeling Notation]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Graphical Modeling Framework]]></category>
		<category><![CDATA[Process management]]></category>
		<category><![CDATA[Workflow Management Coalition]]></category>
		<category><![CDATA[Workflow technology]]></category>
		<category><![CDATA[XPDL]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=398</guid>
		<description><![CDATA[On the BPMN &#38; XPDL Industry Day of the WfMC Thought Leadership Summit one topic of discussion was the current status of BPMN Diagram Exchange. In the BPMN 2.0 Spec there is a proposal, that builds on a generic OMG &#8230; <a href="http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/bpmn-diagram-exchange-reflections/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On the BPMN &amp; XPDL Industry Day of the <a href="http://www.wfmc.org/november-member-meeting.html">WfMC Thought Leadership Summit</a> one topic of discussion was the current status of BPMN Diagram Exchange.</p>
<p>In the BPMN 2.0 Spec there is a proposal, that builds on a generic OMG proposal, which is not finalized and which will be standardized independent of the BPMN 2.0 standardization.</p>
<p><img class="alignleft size-large wp-image-402" title="Bpmn Diagram Interchange Proposal" src="http://www.bpmnforum.net/blog27/wp-content/uploads/2009/11/image6-1024x592.jpg" alt="image6" width="599" height="346" />In this proposal the idea is to have a Diagram Interchange Model independent from the Domain Model, which is in my opinion, a good idea. It is generic, so that other diagram types could be modeled. The diagram validation is done agains a so called Diagram Definition Model, which is also new. The Diagram Definition Model defines, which Attributes a Diagram Interchange node or connector can have, the allowed references and additional (OCL) constraints. Furthermore each Diagram Interchange node or connector is refers to a Domain Model class &#8211; in this case a BPMN Task or Gateway or Sequence Flow for example.</p>
<p>Advantages I see:</p>
<ul>
<li>Seperation of Model and View &#8211; Model maintenance</li>
<li>Multiple Diagrams for the same underlying BPMN model are possible</li>
<li>Generic format for different diagram types &#8211; tools can use synergies</li>
</ul>
<p>Disadvantages I see:</p>
<ul>
<li>Tools vendors can not use XSD validation. They have to implement the validation against the Diagram Definition.</li>
<li>The constraints of the Domain model (e.g. Sequence Flows can only be connected to &#8230;) must be repeated in the Diagram Definition Model.</li>
<li>Grafical Attributes (e.g. line thickness) must be repeated as per modeling element.</li>
<li>Attribute Format (name / value) too generic in my view.</li>
</ul>
<p>The XPDL Format used to include the Graphics Info into the Elements of the Domain model.</p>
<p><img class="alignleft size-full wp-image-401" title="XPDL Diagram Interchange" src="http://www.bpmnforum.net/blog27/wp-content/uploads/2009/11/image5.jpg" alt="XPDL Diagram Interchange" width="585" height="270" /></p>
<p>This is simple and straight, and current tools support it, but has the disadvantage, that it is not possible to have one modeling element (e.g. one process) appear in different diagrams. Instead, the modeling elements must be repeated as per diagram, which has many disadvantages in model execution, analysis and model driven development. The Signavio modeler, which was discussed at the meeting, follows the same approach. However it is good as long as only diagrams are drawn for visualization purposes.</p>
<p>Because the BPMN Digram Exchange Proposal was too generic for some, Bruce Silver proposed an <a href="http://intelligent-enterprise.informationweek.com/blog/archives/2009/08/bpmn_20_and_the.html;jsessionid=2KFXO234YT2MFQE1GHRSKHWATMY32JVN">BpmnDI.XSD</a> for a concrete XSD validation.</p>
<p><img class="alignleft size-full wp-image-400" title="BpmnDi.XSD by Bruce Silver" src="http://www.bpmnforum.net/blog27/wp-content/uploads/2009/11/image4.jpg" alt="BpmnDi.XSD by Bruce Silver" width="649" height="505" /></p>
<p>This approach repeats basically all or many BPMN domain modeling elements. This of course is the disadvantage, because it is but a redundant repetition of the already defined domain model. However it is no complete repetition, because the gateway type for example is not included. So a tool must look into the domain model anyway to render the gateway.</p>
<p>Within this discussion it came to my mind, how the <a href="http://www.ibm.com/developerworks/opensource/library/os-ecl-gmf/">GMF (Graphical Modeling Framework)</a> solves this question. I think it is well worth to have a look at this approach, because I think it may be a good compromise.</p>
<p><img class="alignleft size-full wp-image-399" title="GMF approach" src="http://www.bpmnforum.net/blog27/wp-content/uploads/2009/11/image3.jpg" alt="GMF approach" width="630" height="387" />The GMF defines a Grafical Definition Model, which only defines Shapes. This is simple to understand and straight. Then it defines a Mapping Model. Within the mapping models, nodes and connections are grouped as needed. For example it defines, that there is a node lane which can contain node Activity and Sequence Flow. As a followon the Acitivty node is connected to the Activity domain class and the Shape, that descibes how an activity should look like. The shape can be re-used, which is an advantage of the BPMN Diagram Exchange Approach. The Structures of the Diagram is already contained in the Mapping Model, so it can be serialized to XMI and XSD, which is also an advantage. However still the diagram logic is separated from the Domain Model, which is an advantage over XPDL. And it is a very generic model, which is an advantage over a mere BpmnDI.xsd.</p>
<p>I personally worked with the GMF, and found it quite practical. I am not proposing to use GMF per se, but maybe the approach should be further considered.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/bpmn-diagram-exchange-reflections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From code centric to model centric software engineering: Practices, Implications and ROI</title>
		<link>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/from-code-centric-to-model-centric-software-engineering-practices-implications-and-roi/</link>
		<comments>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/from-code-centric-to-model-centric-software-engineering-practices-implications-and-roi/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 07:54:12 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[MDA]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/uncategorized/from-code-centric-to-model-centric-software-engineering-practices-implications-and-roi/</guid>
		<description><![CDATA[Within the 4th European workshop on &#8221; From code centric to model centric software engineering: Practices, Implications and ROI&#8221; we had an interesting discussion. After a talk about the question, if or if not MDA is practically usable in industrial &#8230; <a href="http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/from-code-centric-to-model-centric-software-engineering-practices-implications-and-roi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Within the 4th European workshop on &#8221; From code centric to model centric software engineering: Practices, Implications and ROI&#8221; we had an interesting discussion. After a talk about the question, if or if not MDA is practically usable in industrial projects with positive experiences (Fieber, Regnat, &amp; Rumpe), the discussion was about Return on Investment of MDA. The most interesting part of the discussion for me was that there was a complaint about the fact, that until today it was not possible to model behavior effectively. If it were possible to model behavior – as structures can be modeled with UML – then this would be the big thing missing. However the problem was considered to be very difficult, if not too difficult.</p>
<p>That was when I made my statement, knowing about my yearlong successful experiences in behavior modeling. I said that probably the domain chosen was too broad. In my opinion we should concentrate on a specific domain – business processes – and model the behavior of it. That is because to model, it is necessary to know and describe the laws of nature of the domain – in this example business processes – in advance. Then as a result the modeling method will be very effective and successful. I said that for example in BPMN 2.0 major steps forward have been made recently.</p>
<p>We believed that following this approach it will be possible to achieve much better ROI of MDA than in the past. Practically this will mean that it will be possible to provide an application wireframe within days and an application within weeks instead of month or years. Through this productivity boost Custom Software will be cheap to build – therefore companies do not have the choice between standard software or high cost, but they can have what they specifically need at a low price. This is not out of reach.</p>
<h1>Reference</h1>
<p>Fieber, F., Regnat, N., &amp; Rumpe, B. Assessing usability of model driven development in industrial projects. In T. Bailey, R. Vogel, &amp; J. Mansell (Hrsg.), <em>4th European Workshop on &#8220;From code centric to model centric software engineering: Practices, Implications and ROI&#8221;</em> (S. 1-9). University of Twente, Enschede: Centre for Telematics and Information Technology.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/from-code-centric-to-model-centric-software-engineering-practices-implications-and-roi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Prediction</title>
		<link>http://www.bpmnforum.net/blog27/bpm/a-prediction/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/a-prediction/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 07:51:16 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Model Driven]]></category>
		<category><![CDATA[Business Object]]></category>
		<category><![CDATA[Business Process]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=357</guid>
		<description><![CDATA[Usually I leave the predictions to analysts and prophets. That&#8217;s because it is so much work to achieve, what they already have predicted &#8211; or to find out, that it did not work. Nevertheless this is a conviction, that has &#8230; <a href="http://www.bpmnforum.net/blog27/bpm/a-prediction/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Usually I leave the predictions to analysts and prophets. That&#8217;s because it is so much work to achieve, what they already have predicted &#8211; or to find out, that it did not work.</p>
<p>Nevertheless this is a conviction, that has grown over time and a goal to which I can even see the path to the solution already now.</p>
<p>My prediction is, that in the future there will not be Applications on the one side and Business Process Management on the other side. But Business Process Management enabled Applications.</p>
<p>My prediction is, that in the future, there will not be the decision &#8220;Should I implement it as an Application or model it in a Business Process Management Suite?&#8221; any more. Because with BPM enabled Applications this is the same thing.</p>
<p>Business Objects will be Process Objects and Processes will be Business Objects.</p>
<p>And it will solve many of the discontinuities we have today trying to unify the two worlds.</p>
<p>This is my prediction.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/a-prediction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not just Modeling</title>
		<link>http://www.bpmnforum.net/blog27/bpm/bpm-governance/not-just-modeling/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/bpm-governance/not-just-modeling/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 20:43:11 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM Governance]]></category>
		<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Object]]></category>
		<category><![CDATA[Coaching]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Orchestration]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=348</guid>
		<description><![CDATA[Understanding Modeling Element of a modeling language &#8211; like BPMN 2.0 &#8211; is a necessary condition for successful modeling, but by no means sufficient. Models must have a meaning within a context in the end, otherwise they are useless. For &#8230; <a href="http://www.bpmnforum.net/blog27/bpm/bpm-governance/not-just-modeling/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Understanding Modeling Element of a modeling language &#8211; like BPMN 2.0 &#8211; is a necessary condition for successful modeling, but by no means sufficient.</p>
<p>Models must have a meaning within a context in the end, otherwise they are useless. For example what does a model mean, where there are acitivies like &#8220;go to the shop&#8221; and &#8220;buy some milk&#8221; and &#8220;pay&#8221;? It is a modeled description of what a person sometimes does, if he needs milk. But nothing else. The process model is to be used as documentation only. This is the context of the model. Such a model can not be used as a workflow. There is no need to create a workitem &#8220;pay&#8221; for buying milk. This is done by the shop&#8217;s design anyway. Also it can not be a web service orchestration description, because there is no web service &#8220;go to the shop&#8221;.</p>
<p>Modeling a process makes sense, if the context is know, in which the process will be embedded. The context is what I call an architecture. An architecture is a set of rules that determine under which boundary conditions a software system is to be designed. As part of such a design the design of a process makes sense. For example the architecture could be to design a system that is capable of performing the functionality of a milk web shop, that milk order and milk delivery are business objects that expose web services like &#8220;order&#8221; and &#8220;pay&#8221;, that there will be a workflow system that is able to compose these services &#8211; for example. The architecture are the rules that describe the creation of the system, the business objects, the web services and the workflow. These first need to be professionally defined and confirmed. They need to be obligatory for the whole project.</p>
<p>Only after that it makes sense to create models, which then will have a meaning within the context of the defined architecture. And therefore it is of very limited merit to &#8220;just model&#8221; or to train or coach modeling of a modeling language without a reference to a defined architecture or without the preceding process of professionally defining the reference architecture before. On the contrary &#8211; if the architecture is defined, then it perfectly makes sense to coach and govern a modeling process, because then there are the rules, that are needed for coaching and governance.</p>
<p>This is my opinion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/bpm-governance/not-just-modeling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Central control and local flexibility</title>
		<link>http://www.bpmnforum.net/blog27/bpm/central-control-and-local-flexibility/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/central-control-and-local-flexibility/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 12:32:56 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[Flexibility]]></category>
		<category><![CDATA[Interaction]]></category>
		<category><![CDATA[MDA]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/bpm/central-control-and-local-flexibility/</guid>
		<description><![CDATA[Why I am looking at these MDA papers? It is inevitable in big organizations, that there are central processes that are supported by every part of the organization. But at the same time it is desirable, to support individual processes, &#8230; <a href="http://www.bpmnforum.net/blog27/bpm/central-control-and-local-flexibility/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Why I am looking at these MDA papers?</p>
<p>It is inevitable in big organizations, that there are central processes that are supported by every part of the organization. But at the same time it is desirable, to support individual processes, that respect local specialties. In this case the local units must be given the possibility to plug into the global processes. This can only be done, if the behavior of the local and the central processes is known – and by this the interaction – the choreography between them – can be defined and described. Therefore it is important to have behavior modeling languages for processes of units and of the choreography. Furthermore sometimes it is necessary to allow a local unit to describe their own processes or aspects of their own processes in their own language – a DSL – and plug them into the central processes.</p>
<p>If this is achieved it is a controlled powerful local flexibility with the integration into centrally controlled processes.</p>
<p>All of these articles and also BPMN 2.0 can help to strife towards this goal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/central-control-and-local-flexibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Towards a Model Execution Framework for Eclipse</title>
		<link>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/towards-a-model-execution-framework-for-eclipse/</link>
		<comments>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/towards-a-model-execution-framework-for-eclipse/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 09:04:10 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[EMF]]></category>
		<category><![CDATA[GMF]]></category>
		<category><![CDATA[MDA]]></category>
		<category><![CDATA[Model Simulation]]></category>
		<category><![CDATA[Prototyping]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/uncategorized/towards-a-model-execution-framework-for-eclipse/</guid>
		<description><![CDATA[(Soden &#38; Eichler, 2009) discusses the need of extending the Eclipse Modeling Project under which EMF (based on MOF) is used to define Domain Specific Languages (DSL) and GMF to define Graphical Model Editors and Xtext to define Human Understandable &#8230; <a href="http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/towards-a-model-execution-framework-for-eclipse/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>(Soden &amp; Eichler, 2009) discusses the need of extending the Eclipse Modeling Project under which EMF (based on MOF) is used to define Domain Specific Languages (DSL) and GMF to define Graphical Model Editors and Xtext to define Human Understandable Textual Notations (HUTN) for a defined DSL with a Model Execution Framework (MXF) that allows for the declarative specification of a model execution and simulation.</p>
<p>The idea is to extend an abstract syntax, that defines a Domain Specific Language (DSL) – for example a finite state machine language – with a model that describes runtime instances of the model (including state, counter, … ) plus a declarative (in this case even graphical) model for the behavior of the model simulation.</p>
<p>What I like in the idea is the thrive to make the DSL architect more productive in his work by relieving his duty to implement a model interpreter or model to code translator, if he invents a new DSL. By this, he can write a new DSL (like for example BPMN 2.0) and would be able to simulate the behavior of the execution semantics without implementation work – just by declarative modeling. That is the promise of the approach.</p>
<p>One could discuss, if the chosen Language MAction is the best way to describe model execution semantics, but at least it has to be taken serious. For me this is an interesting DSL prototyping environment. If one looks at model execution at runtime, I do not think that the Eclipse Environment is the right architecture for this. But it is a start – as I said – for DSL Prototyping. Other points that should be discussed in the future in my opinion are:</p>
<ul>
<li>Runtime Optimization for the Model by adding shortcuts in the Runtime Model</li>
<li>Modeling of big examples (like BPMN 2.0) with the new language</li>
<li>Evaluation of different ways of describing the Model Execution Semantics</li>
</ul>
<h1>References</h1>
<p>Soden, M., &amp; Eichler, H. (2009). Towards a Model Execution Framework for Eclipse. <em>First European Workshop on Behaviour Modelling in Model Driven Architecture (BM-MDA)</em> (S. 57-71). Amsterdam, The Netherlands: Centre for Telematics and Information Technology Workshop Proceedings.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/towards-a-model-execution-framework-for-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

