<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Frank Michael Kraft&#039;s Blog &#187; Model Driven Architecture</title>
	<atom:link href="http://www.bpmnforum.net/blog27/category/model-driven/model-driven-architecture/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>ERP / BPM / SOA</title>
		<link>http://www.bpmnforum.net/blog27/bpm/erp-bpm-soa/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/erp-bpm-soa/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 06:13:39 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Business Process Execution Language]]></category>
		<category><![CDATA[Business Process Modeling Notation]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[Enterprise resource planning]]></category>
		<category><![CDATA[Process management]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Systems engineering]]></category>

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

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

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/bpm/central-control-and-local-flexibility/</guid>
		<description><![CDATA[Why I am looking at these MDA papers?

It is 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>BPMN in Microsoft Olso</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-microsoft-olso/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-microsoft-olso/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 11:18:17 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Microsoft Oslo]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=78</guid>
		<description><![CDATA[Microsoft starts with a new Development Environment for [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft starts with a new Development Environment for Model Driven Development and Architecture: Microsoft Oslo. A first Trial can be downloaded.<br />
<a href="http://msdn.microsoft.com/de-de/oslo/">http://msdn.microsoft.com/de-de/oslo/</a><br />
What do we find there? As part of the Example Models we find BPMN.</p>
<p>After the installation you find the models here:</p>
<p>C:\Program Files\Microsoft Oslo SDK 1.0\Models\Business\BPMN</p>
<p>One could discuss, if the chosen format is the best way to represent BPMN, but at least it is interesting to know and to think about.</p>
<p>It is only a beginning. It is an old BPMN version (BPMN 1.1 I believe), it are only the table structures (MSchema), not Grammar (MGrammar) and no example models (MGraph).<br />
Although BPMN should be modeled using inheritance, the BPMN MSchema does not make use of inheritance. If you read into Microsoft Olso you will find, that in MSchema there is actually some inheritance, but only limited. There are types in MSchema and extents, which are storage locations or database tables, more plainly said. While the types can inherit fields from suptertypes, extents make no use of any inheritance structure. That is if a extent is defined using a subtype, then all fields from all supertypes are also in the extent. Of course that is not, what one wants, because then the supertype information is scattered across many tables, which destroys polymorphy. On their homepage the development team argues, that MSchema can not support inheritance, because the relational paradigm does not. But that is not a very convincing argument, because as you can see in the BPMN models of Olso, they found a canonical way to deal with the logical inheritance by splitting the tables and defining a foreign key relationship. So for me there is not really an argument why they do not offer this method as a resolution of the inheritance problem in MSchema, so that BPMN and other metamodels can be offered in such a way.</p>
<p>[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-microsoft-olso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
