07.03.2014 Views

BPMN and Beyond Business process modelling notation, workflow ...

BPMN and Beyond Business process modelling notation, workflow ...

BPMN and Beyond Business process modelling notation, workflow ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3 Framework for <strong>BPMN</strong> Execution Model<br />

In this section we instantiate WorkflowTransitionInterpreter to a schema for an execution<br />

model for <strong>BPMN</strong> diagrams. It is based upon the st<strong>and</strong>ard for the <strong>Business</strong> Process Modeling<br />

Notation (<strong>BPMN</strong>) as defined in [15]. In some cases we first formulate a general underst<strong>and</strong>ing<br />

of the concept in question <strong>and</strong> then explain how it can be adapted to the specific use as defined<br />

in <strong>BPMN</strong>. This is not to replace the <strong>BPMN</strong> st<strong>and</strong>ard, but only to provide a companion to it<br />

that explains the intended execution semantics in a rigorous high-level way <strong>and</strong> points out where<br />

attention has to be paid to the possibility of different interpretations of the st<strong>and</strong>ard document, due<br />

to ambiguities or underspecification. We mention here only those parts of the st<strong>and</strong>ard document<br />

that directly refer to the semantic behavioral interpretation of the constructs under investigation.<br />

In particular, besides what is explained in Sect. 3.1 we use numerous elements of the metamodel<br />

without further explanations, refering for their definition to the st<strong>and</strong>ard document.<br />

3.1 <strong>Business</strong> Process Diagram Elements<br />

We summarize here some of the elements which are common to every business <strong>process</strong> diagram:<br />

flow objects of various types residing at nodes connected by arcs, tokens used to represent control<br />

flow, a best practice normal form for such diagrams, etc. In a full formalization one would have to<br />

present these elements as part of a <strong>BPMN</strong> metamodel.<br />

The graph interpretation graph(<strong>process</strong>) of a <strong>BPMN</strong> business <strong>process</strong> diagram specifies the<br />

nodes of this diagram as st<strong>and</strong>ing for three types of so-called flow objects, namely activities, events<br />

<strong>and</strong> gateways. We represent them as elements of three disjoint sets:<br />

Node = Activity ∪ Event ∪ Gateway<br />

To define the behavioral meaning of each <strong>BPMN</strong> flow object one may find in a node, we instantiate<br />

in the WorkflowTransition(node) scheme the guard expressions <strong>and</strong> the submachines<br />

to capture the verbal explanations produced in the st<strong>and</strong>ard document for each of the three flow<br />

object types. Each object type needs a specific instantiation type on can roughly describe as follows.<br />

To interpret the elements of the set Event we have to instantiate in particular the event conditions<br />

in the guard <strong>and</strong> the event operations in the body of WorkflowTransition(node).<br />

The instantiation of EventCond(node) interprets the cause (‘trigger’) of an event happening at<br />

the node; the instantiation of EventOp(node) interpretes the result (‘impact’) of the events<br />

(on producing other events <strong>and</strong> consuming the given ones) at this node.<br />

The interpretation of the elements of the set Gateway involves instantiating the guard expressions<br />

CtlCond(node) <strong>and</strong> the submachines CtlOp(node) of WorkflowTransition(node).<br />

Accompanying instantiations of DataCond(node) <strong>and</strong> DataOp(node) reflect what is needed<br />

in cases where also state information is involved to determine how the gateway controls the<br />

convergence or divergence of the otherwise sequential control flow.<br />

The interpretation of the elements of Activity involves instantiating the guard expressions<br />

DataCond(node) <strong>and</strong> the submachines DataOp(node) of WorkflowTransition(node). For<br />

so-called non-atomic activities, which involve sub<strong>process</strong>es <strong>and</strong> possibly iterations over them,<br />

we will see a simultaneous instantiation also of the CtlCond(node) guards <strong>and</strong> of the submachines<br />

CtlOp(node) to determine the next activity.<br />

Thus an instance of WorkflowTransitionInterpreter for <strong>BPMN</strong> diagrams is defined by<br />

instantiating a) the particular underlying scheduling mechanism (i.e. the functions select Node <strong>and</strong><br />

select WorkflowTransition ) <strong>and</strong> b) WorkflowTransition(node) for each type of node. The result of<br />

such an instantiation yields a <strong>BPMN</strong> interpreter pattern, which can be instantiated to an interpreter<br />

for a particular business <strong>process</strong> diagram by further instantiating the WorkflowTransition(node)<br />

scheme for each concrete node of the diagram. This implies instantiations of the diagram related<br />

abstractions used by WorkflowTransition(node), as for example various attribute values. We<br />

deal with such items below as location instances, the way it is known from the object-oriented<br />

programming paradigm.<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!