<?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; State</title>
	<atom:link href="http://www.bpmnforum.net/blog27/tag/state/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>Gleanings of the WfMC Thought Leadership Summit</title>
		<link>http://www.bpmnforum.net/blog27/adaptive-processes/gleanings-of-the-wfmc-thought-leadership-summit/</link>
		<comments>http://www.bpmnforum.net/blog27/adaptive-processes/gleanings-of-the-wfmc-thought-leadership-summit/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 11:34:14 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Adaptive Processes]]></category>
		<category><![CDATA[Ad-Hoc]]></category>
		<category><![CDATA[Adaptive]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[Business process modeling]]></category>
		<category><![CDATA[Constraint]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Enterprise modelling]]></category>
		<category><![CDATA[Flexibility]]></category>
		<category><![CDATA[information collaboration]]></category>
		<category><![CDATA[Process management]]></category>
		<category><![CDATA[State]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[Workflow Management Coalition]]></category>
		<category><![CDATA[Workflow technology]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=379</guid>
		<description><![CDATA[Some reflections about the WfMC Thought Leadership Summ [...]]]></description>
			<content:encoded><![CDATA[<p>Some reflections about the <a href="http://www.wfmc.org/november-member-meeting.html">WfMC Thought Leadership Summit</a> that I was invited to attend.</p>
<p>Suddenly I felt like in a lively discussion about what I thought for some time about the inflexibility of BPM models (what if the approver is on leave?), the ad-hoc nature of real processes (like in a court trial) and the small amount of system support for these.</p>
<p>Yes, Business Process Modeling to a degree rests on the assumption, that there are repetitive procedures that are triggered by a business transaction, and which is described in terms of which steps to execute as a result of it. Like a machine.</p>
<p>Did you ever wonder why there is so little standard software for startups &#8211; or business process models? If it where a standard process, it were not a startup. The driver in the seat hopefully is the founder of the startup, not a process.<br />
I agree to the observation, that there are much more processes like this all over the place. And maybe there should be even more again, reverting the feeling to be but a cogwheel in the engine, but a responsible contributor &#8211; even for the benefit of the whole.</p>
<p>Still, what we need to work effective is system support for</p>
<ul>
<li>our information</li>
<li>Collaboration and Communication over the information</li>
<li>a clear status of all of the process and all parts of it</li>
<li>Decide about next steps as you go</li>
<li>Decide about required information as you go</li>
<li>Decide about groups and access policies as you go</li>
<li>Decide about information structure as you go.</li>
<li>Overview and Tracking</li>
</ul>
<p>Only to mention the most important ones.</p>
<p>This is not what you can to with BPM . Therefore we need a new breed of software which is not BPM, even if it is related to it.</p>
<p>I want to mention two things, that were not or not deeply discussed in the meeting as an additional contribution and defence of what I said.</p>
<p>First: Even with all the ad-hoc type of processes it is clear that over time some of them evolve in standard processes, which is a good thing. Because that is the time to earn money for the process owner. So there must be ways to</p>
<ul>
<li>pick best practices and develop them into standard processes</li>
<li>re-design a bunch of local best practices into a global standard process.</li>
<li>impose constraints of a standard process on the business</li>
</ul>
<p>All of that as you go &#8211; i.e. without interfering the running processes.<br />
Which is easily said &#8211; sounds a little like marketing buzz &#8211; but certainly challenging in terms of technology. But I wouldn&#8217;t say it, if I didn&#8217;t think it&#8217;s possible.</p>
<p>In Process design and re-design I disagree here with Max J. Poucher&#8217;s more philosophical statements about evolution. I do not believe as much in evolution as an unguided process as he seemingly does. I believe that redesigning processes as a whole makes them more effective, and more rewarding to everybody if done right.</p>
<p>Second, I think that we need is a seamless integration (A word that you first learn in marketing) with structured processes &#8211; be they classical workflows or classical ERP processes. In my opinion there is much ROI to be found.</p>
<h2>Related Blog Posts</h2>
<p><a href="http://isismjpucher.wordpress.com/2009/11/04/adaptive-case-management/">Adaptive Case Management by Max J. Pucher</a></p>
<p><a href="http://isismjpucher.wordpress.com/2009/11/02/complex-adaptive-business-process/">Complex Adaptive Business Process by Max J. Pucher</a></p>
<p><a href="http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/ad-hoc-processes/">Ad-Hoc Processes by me</a></p>
<p><a href="http://www.bpmnforum.net/blog27/bpm/bpm-process-design/intelligence-in-business-processes/">Intelligence in Business Processes by me</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/adaptive-processes/gleanings-of-the-wfmc-thought-leadership-summit/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>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>Realignment of Process Instances</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/realignment-of-process-instances/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/realignment-of-process-instances/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 07:00:52 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Practice]]></category>
		<category><![CDATA[Process Instance]]></category>
		<category><![CDATA[Realignment]]></category>
		<category><![CDATA[State]]></category>

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

If there are many process instances in a  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">[ad#imagead]</p>
<p>If there are many process instances in a system, it is also a lot of work to realign them, if necessary.</p>
<p>What do I mean by realignment of process instances?</p>
<p>For example, if there is a process instance &#8211; which is a simple example &#8211; that needs a one step approval in case of an order of below 1000€ and a two step approval in case of an order of 1000€ or above.</p>
<p>Now if there is an order of 900€ then there exists a process instance for a one step approval. If later the order is changed to have a value of 1500€, then the process instance needs to be realigned to have two steps of the approval.</p>
<p>The realignment can typically not be done from within the process instance itself.There is some logic needed, that does such a realignment and works in all cases. Furthermore as of my knowledge there is no generic algorithm to describe all needed realignments based on such changes. So the rule do assign one and two step approval to the values of below and above 1000€ is not enough. It is further necessary to describe the realignment logic.</p>
<p>This is especially challenging as it depends on the state of the process instance itself.For example if the one step approval is the manager approval and the two step approval is the revision department approval which has to take place before the manager approval. Then it may challenging to realign a process instance in the case of a value change, if the manager approval is already in progress, because a different step has to be inserted before.</p>
<p>So the process instance realignment problem is not simple, but a solution is needed, as soon as there are process instances in the system.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/realignment-of-process-instances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Problem with Process Instances</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/the-problem-with-process-instances/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/the-problem-with-process-instances/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 18:04:07 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Practice]]></category>
		<category><![CDATA[Executable]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=232</guid>
		<description><![CDATA[If we look at executable processes, we will have proces [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">If we look at executable processes, we will have process instances. A process instance obviously lives from the time, it is created, to the time it is terminated. During the lifetime of the process events occur, that need to be assigned to or correlated to a certain process instance, if not to many process instances.</p>
<p style="text-align: left;">The more process instances are created in the system, the more care needs to be taken that they all are managed correctly. Some unwanted effects may occur:</p>
<ul>
<li>An event is not correlated to the process instance it should have been correlated to (e.g. because of wrong correlation rules)
<ul>
<li>As a effect the event disappears without any effect.</li>
<li>As another effect the process instance, that the event should have been correlated to is stuck in an unwanted state.
<ul>
<li>A subsequent event, that is correlated again to this process instance, may find the process in the wrong state, causing more problems.</li>
</ul>
</li>
</ul>
</li>
<li>An event is correlated to a process, that it should not have been correlated to.
<ul>
<li>As an effect the event is consumed and may not be correlated to the process instance, that it correctly should have been correlated to.</li>
<li>As another effect, the event will cause a problem in the wrong target process.</li>
</ul>
</li>
<li>Process instances may be started, even if there is already a process for the same thing, because of wrong correlation rules.
<ul>
<li>This may lead to starvation of other processes.</li>
</ul>
</li>
<li>There is no guarantee, that an event is correlated to any process.</li>
</ul>
<p>So in the end there may be a system with many problematic process instances. Especially if not care is taken, that the correlation rules are absolutely consistent. This is difficult to achieve, especially if they can be maintained independently from each other.</p>
<p>So many problems? Well, at least problem recognition is the first step to the cure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/the-problem-with-process-instances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ad-Hoc Processes</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/ad-hoc-processes/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/ad-hoc-processes/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 07:00:43 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Ad-Hoc]]></category>
		<category><![CDATA[Business Object]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Constraint]]></category>
		<category><![CDATA[Executable]]></category>
		<category><![CDATA[State]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=204</guid>
		<description><![CDATA[Unstructured, Semi-Structured and Structured Processes  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.actionbase.com/unstructured-semi-structured-and-structured-processes">Unstructured, Semi-Structured and Structured Processes</a> makes a distinction between</p>
<ul>
<li>structured,</li>
<li>unstructured and</li>
<li>semi-structured</li>
</ul>
<p>processes, that I like. It is interesting, that in the definition of process the emphasis on the post is less on the sequence of activities, but more on the business goal to reach. That was, what I proposed earlier. And it makes sense. In the end it is more important, what the result of a process is, than what has been done or should be done in which order to try to (!) achieve it. I said &#8220;try to&#8221; because sometimes just doing a thing can not guarantee that the desired result is achieved. That&#8217;s why I say that the result is more important than the doing of an activity or task itself.<br />
Of course it is inevitable that when a business process is implemented in an business process platform, that it is structured. Otherwise it is impossible to implement the business functionality that transforms the business objects that are part of the business process from one state to another. That is said modulo that there may be some generic functionality like a process engine for workflow or generally for execution of modeled process parts of course.<br />
BPMN supports some Ad-Hoc modeling cababilities. There are Ad-Hoc tasks where the sequence is not defined or where it is not defined if none, one or all of them are executed. However one would expect, that any task that can be executed is modeled &#8211; at least if it is not, it can not be system supported. Also it is a difference, if the Ad-Hoc cababilities are on the process type level, or on the instance level, meaning that a concrete process instance can be adapted to a new, unexpected flow, sequence or even new Ad-Hoc Tasks.<br />
However the more the tasks become Ad-Hoc the more they become an empty shell. What do I mean by this?<br />
Create an Ad-Hoc task &#8220;Calculate stock losses based on financial crisis&#8221;. Of course if this is done the first time, there is no busines logic implementation for this. Even if there is a SOA service offering the solution, there needs to be some implementation of calling the service, which means gathering and providing the needed parameters and using the result in other processes.<br />
So &#8211; as soon as a process is implemented in a business process platform it has at least some constraints.<br />
Which is ok &#8211; because it has been formalized, because it&#8217;s execution is more repetitive.<br />
On the other hand especially in times of crisis the importance of Ad-Hoc processes grows to account for the need to compensate unforeseen difficulties in the daily &#8220;business as usual&#8221;.<br />
The important thing is, that the structured, the unstructured and the semi-structured processes can be integrated as seamless as possible. This is only possible, if there is a common notion of result of a process or of an activity in the process. Furthermore it is an interesting question &#8211; especially in semi-structured processes &#8211; how much constraints are desribed.</p>
<ul>
<li>None Constraints: Unstructured.</li>
<li> Some Constraints: Semi-Structured.</li>
<li>All Constraints: Structured.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/ad-hoc-processes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
