<?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; Choreography</title>
	<atom:link href="http://www.bpmnforum.net/blog27/category/choreography/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>Thu, 22 Jul 2010 08:33:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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 [...]]]></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>An efficient necessary condition for compatibility of services</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/an-efficient-necessary-condition-for-compatibility-of-services/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/an-efficient-necessary-condition-for-compatibility-of-services/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 08:23:59 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Participant]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/uncategorized/an-efficient-necessary-condition-for-compatibility-of-services/</guid>
		<description><![CDATA[In (An efficient necessary condition for compatibility, [...]]]></description>
			<content:encoded><![CDATA[<p>In (An efficient necessary condition for compatibility, 2009) the authors discuss a method to find out, if two services are compatible or not. This obviously presupposes that the behavior of the services is modeled. One method to do this is to use BPMN 2.0 and model two or more participants offering respective public processes.</p>
<p>Compatibility of the services is not so obvious in the first place. The question to be answered is, if for all possible sent messages the other participant (or service) is ready to process it, and if both can complete their control flow in all cases. For example if one participants sends an order cancellation, but the other participant cannot process it, because the order is already delivered, and it has no control flow to deal with the late cancellation, then the services are not compatible.</p>
<p>Typically this can be checked by comparing all possible states of all participants and all messages. However this brute force method consumes much memory and computing time. Probably this is one reason, why it is not yet offered in so many or even a modeling product at all – which I do not exactly know. The proposed method in (An efficient necessary condition for compatibility, 2009) is to use a method known from petri nets: to convert them into matrices (state equation) and use the matrices to determine the compatibility in a much more efficient way. This is definitely interesting to consider.</p>
<p>The paper states, that this can be used for service discovery and mediator construction. In my personal opinion these use cases are very advanced research use cases, which are not yet so relevant in the practical industry application. Even the mediator construction I have severe doubts, if this is a way that will lead to somewhere at all. But I might be convinced later.</p>
<p>But very relevant is to support the design process of services which need to interact. If there were a repository, that would contain such compatibility determination method – that would be a great step forward. Furthermore it would provide the industry use cases that are needed for further research on the matter.</p>
<h1>References</h1>
<p><em>An efficient necessary condition for compatibility. </em><strong>Oanea, Olivia und Wolf, Karsten. 2009.</strong> [Hrsg.] Oliver Kopp und Niels Lohmann. Stuttgart : Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik, 2009. Services und ihre Komposition, Erster zentraleuropäischer Workshop, ZEUS 2009. Bd. CEUR Workshop Proceedings Vol. 438, S. 81-87. <a href="http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-438/paper13.pdf">http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-438/paper13.pdf</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/an-efficient-necessary-condition-for-compatibility-of-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Success with BPMN 2.0 &#8211; Message Exchange</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/success-with-bpmn-20-message-exchange/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/success-with-bpmn-20-message-exchange/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 08:17:43 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Message Exchange]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=310</guid>
		<description><![CDATA[Designing Message Exchange is acutally designing Busine [...]]]></description>
			<content:encoded><![CDATA[<p>Designing Message Exchange is acutally designing Business Processes.</p>
<p>Problems, that occur in the area of message exchange often have their reason in the designed Business Processes or &#8211; lack of design of them.</p>
<p>For example, there might be a Purchase Order Request message and a Purchase Order Confirmation Message. Then after a while the buyer sends a Purchase Order cancellation. But at the same time the seller has sent the message, that the Purchase Order now has been delivered. Therefore there might be a problem.</p>
<p>However in my opinion the business process is not designed flexible enough. For example the Business Process should also be designed for cancellation rejection. For example if the Purchase Order has already been delivered. So if the Business Process is designed flexibly enough, then the problems, that can occur in message exchange also are able of being resolved.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/success-with-bpmn-20-message-exchange/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Success with BPMN 2.0 &#8211; Flexibility through Public Processes</title>
		<link>http://www.bpmnforum.net/blog27/bpm/bpm-process-design/success-with-bpmn-20-flexibility-through-public-processes/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/bpm-process-design/success-with-bpmn-20-flexibility-through-public-processes/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 15:31:55 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM Process Design]]></category>
		<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flexibility]]></category>
		<category><![CDATA[Interaction]]></category>
		<category><![CDATA[Participant]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=307</guid>
		<description><![CDATA[If process parts are loosely coupled, then it is possib [...]]]></description>
			<content:encoded><![CDATA[<p>If process parts are loosely coupled, then it is possible to discern between a Public Process and a Private Process. A Public Process contains all process parts and dependencies of the process of a Participant, that are relevant for the interaction to the other Participant. For example in a buyer &#8211; seller relationship it is not relevant if the seller has an internal approval process of of what form it is. It is only relevant if the order request is to be confirmed or not and in which time.</p>
<p>Therefore designing public processes gives flexibility within Participants to change processes as necessary &#8211; often without or with reduced side effects to the interation to the other Participant. This reduces cost in Process adaptations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/bpm-process-design/success-with-bpmn-20-flexibility-through-public-processes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Success with BPMN 2.0</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/success-with-bpmn-20/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/success-with-bpmn-20/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 07:30:03 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flexibility]]></category>
		<category><![CDATA[Interaction]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=304</guid>
		<description><![CDATA[BPMN 2.0 has been submitted to the OMG. How to leverage [...]]]></description>
			<content:encoded><![CDATA[<p>BPMN 2.0 has been submitted to the OMG. How to leverage success using BPMN 2.0?</p>
<p>Integration of Software Systems is the realization of the underlying Business Processes. Realizing As-Is Processes often leads to suboptimal results. No doubt &#8211; As-Is processes Analysis needs to be done. But Process Design is ImhO the decisive part.</p>
<p>It must be absolutely clear, which parts of a process are tightly coupled and which parts are loosely coupled. Tightly coupled means for example: A Customer Order can not be created unless the price determination is done. Loosely coupled means: A Customer Order can be created independent from the creation of the Delivery. The delivery creation is a loosely coupled followon process.</p>
<p>However, of course there are interaction between loosely coupled process parts. These need to be defined &#8211; i.e. designed. BPMN 2.0 gives the possibility to model them in a way never possible before.</p>
<p>In BPMN 2.0 tightly coupled process parts are those within a pool. Loosely coupled process parts are those that are modeled cross pools in Collaborations or in Choreographies.</p>
<p>The cut of the process &#8211; thightly or loosely coupled &#8211; is decisive for success. It is not only a system modeling or implementation question. It is also a business process question. Or why do companies outsource parts of their operations? Because they want to loosely couple, what was tightly coupled earlier. This principle makes sense within companies as well, because of enhanced flexibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/success-with-bpmn-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Commenting &#8220;A scenario is a behavioral view&#8221;</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/commenting-a-scenario-is-a-behavioral-view/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/commenting-a-scenario-is-a-behavioral-view/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 07:00:22 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Orchestration]]></category>
		<category><![CDATA[Service]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=250</guid>
		<description><![CDATA[In A scenario is a behavioral view - Orchestrating serv [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-438/paper2.pdf">A scenario is a behavioral view &#8211; Orchestrating services by scenario integration</a> it is proposed to capture service behavior in the form of a certain petri net class, especially oclets (which is an acyclic Petri net with a local precondition) and by this to model individual scenarios. A scenario is a partial execution of the service. The behavior of a service is defined by the set of scenarios for this service.</p>
<p>In my personal opinion the use of preconditions is a good thing in general. However in my opinion the splitting up of the whole behavior into different scenarios has also disadvantages. For example that it is not so clear, if one scenario is changed, which side effects this has on other scenarios. Also one transition for example can occur in different scenarios. Thereby probably many scenarios need to be changed, if the behavior of one transition needs to be changed. Also a problem is, that it is not so clear how to model differen alternative behaviors. If the union set of all scenarios describes the behavior of the service, it is all one. So for example if there is one big service, but the behavior can be different &#8211; for example in one case with confirmation, in another without confirmation &#8211; this is not possible to be modeled. It is just a &#8220;confirmation&#8221; scenario in the set, but it is not modeled, that is sometimes must be used, sometimes not.</p>
<p>Good is that in the end of the paper it is proposed to integrate the scenarios into one view. This I agree upon. My personal opinion is, that I would rather start with the integrated view. Because all the mentioned disadvantages are not there in this case.</p>
<p>But I admit, that the use case proposed in the paper may still be valid in a consulting experince, where the client already has described the behavior of his services in the form of scenarios. Then, the method proposed is a good way to unify them into the desired integrated view. This may also be supported by tools, which gives an additional value add.</p>
<p>Also notbody should be distracted by the notion of the modeling language. This is just the underlying logic. The same method can as well be transferred to industrial languages, as is proposed in the paper and as I believe. For example I see no reason why this should not be useable in a BPMN 2.0 orchestration model environment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/commenting-a-scenario-is-a-behavioral-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A First BPMN 2.0 Choreography Model</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-standard/a-first-bpmn-20-choreography-model-2/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-standard/a-first-bpmn-20-choreography-model-2/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 07:00:19 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN Standard]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Choreography Task]]></category>
		<category><![CDATA[Interaction]]></category>
		<category><![CDATA[Participant]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=128</guid>
		<description><![CDATA[

This is a first Choreograpy model. It consists of two [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bpmnforum.net/blog27/wp-content/uploads/2009/02/slide2.jpg"><img class="alignleft size-medium wp-image-221" title="First Choreography Model" src="http://www.bpmnforum.net/blog/wp-content/uploads/slide2-300x83.jpg" alt="" width="300" height="83" /></a></p>
<p>This is a first Choreograpy model. It consists of two Choreography Tasks.</p>
<p>The first Choreography Task is  Request Booking as an interaction between two participants &#8211; the Runway Show Management and the Venue Provider. We know from the coloring that the Runway Show Management is the initiator of this interaction. We also know, that at least one message must be exchanged between the participants in the course of the interaction, maybe more.</p>
<p>The second Choreography Task is Confirm Booking. Here the same participants are interacting as before. So we see, that the participants are part of the Choreography model and can be referenced by different Choreography Tasks. However in the second Choreography Task the Venue provider is the initiator of the interation.</p>
<p>We know from the sequence flows between the Choreography Tasks, that the Confirm Booking Task follows after the Request Booking Task.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-standard/a-first-bpmn-20-choreography-model-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Business Process Orchestration and Choreography Modeling</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/business-process-orchestration-and-choreography-modeling/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/business-process-orchestration-and-choreography-modeling/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 08:42:19 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Practice]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Orchestration]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=214</guid>
		<description><![CDATA[[ad#imagead]

In our time of electronic message exchang [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">[ad#imagead]</p>
<p>In our time of electronic message exchange over the internet between participants of a business process one question becomes more and more pressing: “How do I design a business process orchestration?”<br />
This is the right question. The not so good question would be: “How do I design message exchange?”. Designing message exchange in itself is nothing wrong. And most probably this is the first question that is asked at the beginning. And it needs to be asked at the end as well. But at the core of it is the question, how the business process shall be orchestrated. The reason is, because the degree of freedom one has to orchestrate messages is predetermined by the business process orchestration.<br />
It is a major difference, if there are two given systems that implement given business processes and they shall be connected by designing messages versus having the freedom to design the business process in itself to be loosely coupled to another business process that can as well be designed.<br />
One approach to designing business process orchestration is modeling it top down. This possibility is offered with BPMN 2.0. This is done in at least two steps.<br />
The first step is to step back for a moment and take the view of a global observer on the business process. This it what it means to design a choreography model, or in BPMN 2.0 terminology a Choreography.<br />
A Choreography describes the sequence of interactions between participants as it is observed by a global observer. The global observer has an overview over all participants and interactions at the same time. However the observer does not influence the interactions. The message sequence is completely enforced by the participants. A Choreography task represents an interaction between two or more participants in the scope of the model.<br />
So even if there is no global process implementation in the end, it makes sense to design a process top-down bay taking a birds-eye view.<br />
In a second step this process needs to be broken down into the processes that are relevant for each participant – i.e. that each of the participants need to respectively can implement.<br />
The compelling benefit of the method is the simplicity of the first design as is can be done by using the Choreography. Also it makes it easier to design the processes of the participants with reference to an already predefined design – the Choreography.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/business-process-orchestration-and-choreography-modeling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relation of BPMN Choreography Modeling and Pi-Calculus</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/relation-of-bpmn-choreography-modeling-and-pi-calculus/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/relation-of-bpmn-choreography-modeling-and-pi-calculus/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 15:07:36 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Quality of Service]]></category>
		<category><![CDATA[Service]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=112</guid>
		<description><![CDATA[It could be asked this question: Communicating processe [...]]]></description>
			<content:encoded><![CDATA[<p>It could be asked this question: Communicating processes have an analogy to communicating programs. In the eighties there have been quite some publications about this, including Milners Pi calculus. So how is the relation of BPMN choreography and this?</p>
<p>My answer would be, that the Pi Calculus is a Low Level desription calculus for processes that communicate with each other, messages and message channels. This serves the simulation and analysis. The choreography model and the collaboration model are more like a notation with metamodel covering the processes and the messages, but not the message channels. It is more for modeling than for analysis, although the model can be input to the analysis and the simulation.<br />
Also every BPMN choreography model or collaboration model can be mapped to a Pi Calculus description, but not vice versa. Pi calculus is more general and has no notation. BPMN is guiding the modeling process and therefore easier to understand.</p>
<p>When one want to use the BPMN choreography model or collaboration model as input to a pi calculus conversion or a simulation and analysis, the quality of service contract needs to be specified before.</p>
<p><a href="http://www.bpmnforum.net/blog/bpmn/bpmn-in-research/quality-of-service-contracts/">http://www.bpmnforum.net/blog/bpmn/bpmn-in-research/quality-of-service-contracts/</a><br />
[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/relation-of-bpmn-choreography-modeling-and-pi-calculus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quality of Service Contracts</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/quality-of-service-contracts/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/quality-of-service-contracts/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 11:12:19 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Quality of Service]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=73</guid>
		<description><![CDATA[[ad]
(1) speaks also about Quality of Service Contracts [...]]]></description>
			<content:encoded><![CDATA[<p>[ad]<br />
(1) speaks also about Quality of Service Contracts. In my understanding these questions need to be answered: Is the service synchronous or asynchronous. If it is asynchronous, are there queues (serialization contexts) or not? If there are queues, which type of queues like exactly once in order (EOIO) or Exactly Latest (<a href="http://www.google.com/patents?id=iJiQAAAAEBAJ&amp;dq=quality+of+service+exactly+latest">EL</a>). Also the question is relevant which granularity do the queues have.<br />
Why is this relevant? Why can this not merely be ignored as a technical detail of the implementation?<br />
It can not be ignored at the time of design of a contract, because it determines the possible situations (states of the process) that may occur and that need to be resolved in the design of the contract which implies the ability to design choreographies.<br />
To make an example. If it is only possible to update a sales order synchronously, then the contract needs not to be designed in a way to deal with a concurrent asynchronous cancellation of a previous sales confirmation, that might have happened in an asynchronous update scenario. And the resolution is not merely a technical resolution, but the resolution is better done on the business level – as for example discussed in (2). Therefore the QoS Contract implies needed resolutions on the business level – that need to be designed into the behavioral contract and into the syntactical contract.</p>
<h3>Bibliography</h3>
<p>1. Beugnard, Antoine, et al. Making Components Contract Aware. Computer. 1999, Vol. 32, 7, pp. 38 &#8211; 45. http://portal.acm.org/citation.cfm?id=621275.<br />
2. Lecture Notes in Computer Science: Non-desynchronizable Service Choreographies. Decker, Gero and Alistair Barros, Frank Michael Kraft and Niels Lohmann. Berlin / Heidelberg : Springer, 2008. Service-Oriented Computing – ICSOC 2008. Vol. 5364/2008, pp. 331-346. http://www.springerlink.com/content/9055736715131767/. ISSN 0302-9743 (Print) 1611-3349 (Online).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/quality-of-service-contracts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
