<?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; Behavior</title>
	<atom:link href="http://www.bpmnforum.net/blog27/tag/behavior/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>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>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 " From code centric [...]]]></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>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 inevitab [...]]]></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 exten [...]]]></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>
		<item>
		<title>Composition Semantics for Executable and Evolvable Behavioral Modeling in MDA</title>
		<link>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/composition-semantics-for-executable-and-evolvable-behavioral-modeling-in-mda/</link>
		<comments>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/composition-semantics-for-executable-and-evolvable-behavioral-modeling-in-mda/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:06:45 +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[Executable]]></category>
		<category><![CDATA[MDA]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/composition-semantics-for-executable-and-evolvable-behavioral-modeling-in-mda/</guid>
		<description><![CDATA[In the same workshop as mentioned before there was the  [...]]]></description>
			<content:encoded><![CDATA[<p>In the same workshop as mentioned before there was the presentation of (McNeile &amp; Roubtsova, 2009).</p>
<p>UML State Machines were discussed for the purpose of behavior modeling. It was rightly pointed out, that they have some severe weaknesses.</p>
<p>One weakness is that events trigger transitions, but if there is no transition with the event, the event is not inhibited. It just happens without any result.</p>
<p>A second weakness is the possibility of a state explosion in real scenarios. This can – in my opinion however – be addressed with state regions (see UML).</p>
<p>Another weakness is the lack of composition capability – i.e. the possibility to add a model part that does not modify another model part but has an effect.</p>
<p>I agree to these observations.</p>
<p>Furthermore It was distinguished between states that are actively set (like active or closed) and those which are calculated and whose transition are done by change of input values (like overdrawn or in credit with a bank account). While I see these differences as well, in my opinion they are not so strict. There are also cases where there is a state, that is changed actively (not completed) but the result state is calculated (partially completed, fully completed). For this case it was not taken account for.</p>
<p>As a solution it was proposed that protocol machines are constructed, that are able to Allow an event or Refuse or Ignore. While I can understand for what Allow and Refuse is needed (i.e. Buttons on a Screen) I see no direct use case for Ignore.</p>
<p>Also it was proposed a composition mechanism that provides for adding behavior to a model without modifying it. While I think this is pointing into the right direction and this should be achieved, I have doubts if the way that was presented was the solution. There were some ambiguities in the proposal – especially with regards to the question what the absence of a transition within a certain region really means (Refusal?)</p>
<p>All in all for me it was one of the most interesting presentations going into a promising direction.</p>
<h1>References</h1>
<p>McNeile, A., &amp; Roubtsova, E. (2009). Composition Semantics for Executable and Evolvable Behavioral Modeling in MDA. <em>First European Workshop on Behaviour Modelling in Model Driven Architecture (BM-MDA)</em> (S. 41-56). 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/composition-semantics-for-executable-and-evolvable-behavioral-modeling-in-mda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Behaviour Modelling Notation for Information Systems Design.</title>
		<link>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/behaviour-modelling-notation-for-information-systems-design/</link>
		<comments>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/behaviour-modelling-notation-for-information-systems-design/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 15:42:30 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Constraint]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[MDA]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/uncategorized/behaviour-modelling-notation-for-information-systems-design/</guid>
		<description><![CDATA[Continuing my thoughts about the MDA Conference I want  [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing my thoughts about the MDA Conference I want to make some remarks about (Kalnis, Celms, Kalnina, &amp; Sostaks, 2009).</p>
<p>It was rightly stated in the presentation, that UML sequence diagrams are insufficient to model behavior and that a new kind of modeling method is needed. Also the lack of a modeling method for operations of a class was obvious – nobody knows in which sequence they have to be called – if not prose does describe it. Therefore a new modeling method was proposed, that displays classes as swim lanes containing the operation definitions of the class as nested activities containing actions. In this &#8220;action language&#8221; sequences can be expressed by arrows between actions of one swim lane and other swim lanes.</p>
<p>In my opinion this idea points into the right direction. Actions / operations must be set into relation with regards to their mutual constraints and a simple graphical notation for this is needed.</p>
<p>I did not understand however why it is necessary to distinguish between operations and actions, because in my opinion the actions in this method reveals details of the inner structure of the operations, which is in my opinion not relevant. Furthermore in my opinion the flow based modeling (arrows) leads into a model explosion, if big examples (business use cases) are modeled.</p>
<p>In my opinion the suggestion of (Engels, 2009) was more appropriate to the task in this aspect.</p>
<h1>References</h1>
<p>Engels, G. (2009). Keynote: Automatic generation of behavioral code &#8211; too ambitious or even unwanted? In M. Aksit, E. Kindler, A. McNeile, &amp; E. Roubtsova (Hrsg.), <em>First European Workshop on Behaviour Modelling in Model Driven Architecture (BM-MDA).</em> Amsterdam, The Netherlands: Centre for Telematics and Information Technology Workshop Proceedings.</p>
<p>Kalnis, A., Celms, E., Kalnina, E., &amp; Sostaks, A. (2009). Behaviour Modelling Notation for Information Systems Design. In M. Aksit, E. Kindler, A. McNeile, &amp; E. Roubtsova (Ed.), <em>First European Workshop on Behaviour Modelling in Model Driven Architecture (BM-MDA)</em> (pp. 29-40). 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/behaviour-modelling-notation-for-information-systems-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weaving Executeability into UML Class Diagrams</title>
		<link>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/weaving-executeability-into-uml-class-diagrams/</link>
		<comments>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/weaving-executeability-into-uml-class-diagrams/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 11:48:59 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Business Object]]></category>
		<category><![CDATA[Constraint]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Executable]]></category>
		<category><![CDATA[MDA]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=323</guid>
		<description><![CDATA[Again about the First European Workshop on Behavior Mod [...]]]></description>
			<content:encoded><![CDATA[<p>Again about the First European Workshop on Behavior Modelling in Model Driven Architecture [<a href="http://www.ou.nl/eCache/DEF/2/06/802.html" target="_blank">BM-MDA</a>].</p>
<p>The second Presentation was about Weaving Executeability into UML Class Diagrams from Elvinia Riccobene of the Universtià degli Studi di Milano, Italy.</p>
<p>The introductory criticue about describing object contracts with a constraint language only (like OCL &#8211; or pre- and postconditions of methods / operations as mentioned before) was, that it was not possible to change the state of an object or a system by a postcondition. It was said, that it was better to describe this in an Abstract State Machine (ASM).</p>
<p>An ASM does not only describe preconditions for the execution of a function, but also the transition of the state &#8211; i.e. it is directly executable &#8211; platform independently (and thereby simulateable).</p>
<p>My personal opinion about this is, that in modelling the behavior of a business object a certain kind of nondeterminism is needed. For example if there would be a function &#8220;check credit limit&#8221; for a customer &#8211; this can be quite complex in terms of business functionality. So in an ASM you have the choice to model all the complexity of this decision, but then it is not a model any more, but it is the system implementation itself. So there is no other way than to do an abstraction and only model that ther outcome can be (granted, denied) or (granted, denied, manual decision needed) or whatever decision result needs to be modeled. If that is true, even in the ASM some nondeterminism is needed, which leads to limited executeability (i.e. a user must decide or chance or some simplified algorithm or the formalism is used for state space search).</p>
<p>But then the difference to modelling postconditions is not so big, because, the postcondition only states as well, that the result of the operation can be (granted, denied) or (granted, denied, manual decision needed). If the result is unary, then also the postcondition modelling can be used for execution.</p>
<p>In the succeeding part of the presentation it was explained in detail how ASM and UML class diagrams (as one example of any metamodel) can be weaved together to form new classes which are able to model the behavior in this language. But in my opinion first a common understanding on the more fundamental questions should be tried to reached, which I mentioned, before too much specific should deviate us from the discussion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/weaving-executeability-into-uml-class-diagrams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First European Workshop on Behavior Modelling in Model Driven Architecture</title>
		<link>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/first-european-workshop-on-behavior-modelling-in-model-driven-architecture/</link>
		<comments>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/first-european-workshop-on-behavior-modelling-in-model-driven-architecture/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 17:39:11 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[MDA]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=319</guid>
		<description><![CDATA[Beginning of the week there was held the First European [...]]]></description>
			<content:encoded><![CDATA[<p>Beginning of the week there was held the First European Workshop on Behavior Modelling in Model Driven Architecture [<a href="http://www.ou.nl/eCache/DEF/2/06/802.html" target="_blank">BM-MDA</a>].</p>
<p>Why is it, that the structural aspects of software enjoys universality of modeling (UML) while the behavioral aspect does not (yet) and what can and should be done about it?</p>
<p>The same is &#8211; obviously &#8211; true for Web Service Descriptions. You will get a WSDL description which describes the syntactical aspect of the services, but the behavioral aspect is left undescribed.</p>
<p>The invited speaker was Prof. <span class="c3">Gregor Engels, University of Paderborn about </span><span class="c3"><strong>&#8220;Automatic generation of behavioral code &#8211; too ambitious or even unwanted?&#8221;</strong><br />
</span></p>
<p><span class="c3">I am &#8211; as always &#8211; only giving my personal opinion here. I agree to the goal of behaviorable modelling. It was proposed, that preconditions and postconditions of operations should be used to do this. The advantage of the approach has been proposed to be able to become more specific step by step or level by level. </span></p>
<p><span class="c3">I mainly agree to the statement and I think it is pointing in the right direction. My personal opinion is, that preconditions alone are not enough, as long as they can contain every expression, because then they can not be linked with each other. Postconditions are in my opinion important, but they do not describe, how the state is changed by an operation. This is a difference to the ASM (Abstract State Machine) Approach, that was presented later and that I will discuss in another post. </span></p>
<p><span class="c3">Furthermore I think that code generation is the wrong way. The reason is, that code is too static to be extended later. A runtime model interpreter helps to avoid many problems, including extensibility and the deviations of models from the implemented reality. Furthermore in my personal opinion graph transformations should be avoided.</span></p>
<p><span class="c3">So this is my personal opinion about the first talk, which I think pointed into the right direction in general.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/first-european-workshop-on-behavior-modelling-in-model-driven-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Answer to &#8220;Reframing the BPMN vs BPEL Debate&#8221;</title>
		<link>http://www.bpmnforum.net/blog27/bpm/answer-to-reframing-the-bpmn-vs-bpel-debate/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/answer-to-reframing-the-bpmn-vs-bpel-debate/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 11:46:32 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=163</guid>
		<description><![CDATA[Reframing the BPMN vs BPEL Debate poses some interestin [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.brsilver.com/wordpress/2009/02/02/reframing-the-bpmn-vs-bpel-debate/">Reframing the BPMN vs BPEL Debate</a> poses some interesting questions. I took from it:</p>
<ol>
<li>Is BPM a business Discipline or software engineering?</li>
<li> Whose responsibility is it to implement (automate) a business process?</li>
<li>Should we aim to move from design to deployment with no programming?</li>
<li>Whose responsibility is it to maintain a business process?</li>
</ol>
<p>I have some opinions on these questions.</p>
<h1>Is BPM a business Discipline or software engineering?</h1>
<p>In my opinion it is foremost a business discipline. It  is about managing business processes, as the term says. It is identifying processes, understand them (model them), define a roadmap for process changes, design new processes, implement and monitor then. This all can &#8211; theoretically &#8211; be done without IT. Actually most of our day to day processes (drive to work, go to the supermarket on saturdays) are without an electronic workflow (well &#8211; some might have <img src='http://www.bpmnforum.net/blog27/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Also the people of old had very much the same principles when they organized their kingdoms and businesses &#8211; without IT. They weren&#8217;t sending XML messages back and forth &#8211; but herolds and messengers on a horse and the like. This of course were also business processes which were also managed and clearly defined. They did not call it BPM back then, but it was in it&#8217;s essence.</p>
<p>But is it a question of scale and speed. In practical today&#8217;s business life it is inevitable to use IT to reach the needed performance of the business process execution and the needed information pool for the monitoring of it. Therefore the question of how to transfer modeled business processes from the business discipline of BPM to IT is crucial.</p>
<h1>Whose responsibility is it to implement (automate) a business process?</h1>
<p>In my opinion it is the responsibility of the process owner. The process owner in my opionion is foremost a business person. He is responsible to design and implement the business process. Design &#8211; I don&#8217;t mean necessarily the modeling with BPMN for example. This of course can be delegated. But the process owner is in the end responsible for the performance of the process and the profit it yields.</p>
<p>If the process owner decides, that a particular part of the process or the whole process should be supported by automation, then of course this part can be delegated.</p>
<h1>Should we aim to move from design to deployment with no programming?</h1>
<p>This is in my opinion unrealistic. Also it is a question of definition. What is programming and what is not programming? Typically people associate programming with imperative programming (like in C#) or with character based input. Modeling is on the other side which is more declarative and more graphical. But what about rules for example? They are character based and declarative. Also they can usually call subroutines, which are imperative. In some sense a BPMN model is also imperative. So what does this question mean? Probably it is, that it must be made easier for business experts to express which process they have and which they want. Of course it is a big benefit, if these models can be used in runtime or transformed in some canonical way into runtime. The success depend on if it is possible to express the process in the languange of the domain of the business process owner. This is why I think that Domain Specific Languages must be desiged with the greatest care and intelligence. And I think that this area is much less expoited than it could be. In my opinion much more is possible that we have achieved on the great scale already.</p>
<h1>Whose responsibility is it to maintain a business process?</h1>
<p>In my opinion it is the Business Process owners responsibility, who is a business person. And he might delegate it to someone of IT. However the model is the common communication channel between the two. So the model must be accurate, understandable, detailed, summary, and optimally simulateable. Especially the part of  interactive simulation has been much underestimated in my opinion, because it is able to show the behavior of a system implementation of a business process before it is implemented.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/answer-to-reframing-the-bpmn-vs-bpel-debate/feed/</wfw:commentRss>
		<slash:comments>1</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>
	</channel>
</rss>
