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.

can be defined elementwise, construct by construct. For each investigated control flow construct<br />

we provide a dedicated set of rules, which abstractly describe the operational interpretation of the<br />

construct.<br />

To cope with the distributed <strong>and</strong> heterogeneous nature of the large variety of cooperating<br />

business <strong>process</strong>es, it is crucial that the framework supports descriptions that are compatible<br />

with various strategies to implement the described <strong>process</strong>es on different platforms for parallel<br />

<strong>and</strong> distributed computing. This requires the underlying model of computation to support both<br />

true concurrency (most general scheduling schemes) <strong>and</strong> heterogeneous state (most general data<br />

structures covering the different application domain elements). For this reason we formulate our<br />

descriptions in such a way that they achieve two goals:<br />

separate behavior from scheduling issues,<br />

describe behavior directly in business <strong>process</strong> terms, avoiding any form of encoding. The reason<br />

is that the adopted framework must not force the modeler to consider elements which result<br />

only from the chosen description language <strong>and</strong> are unrelated to the application problem.<br />

Since most business <strong>process</strong> models are based on flowcharting techniques, we model business<br />

<strong>process</strong>es as diagrams (read: graphs) at whose nodes activities are executed <strong>and</strong> whose arcs are<br />

used to contain <strong>and</strong> pass the control information, that is information on execution order. 2 Thus<br />

the piecemeal definition of the behavior of single <strong>workflow</strong> constructs can be realized by nodewise<br />

defined interpreter rules, which are naturally separated from the description of the underlying<br />

scheduling scheme. Scheduling together with the underlying control flow determines when a particular<br />

node <strong>and</strong> rule (or an agent responsible for applying the rule) will be chosen for an execution<br />

step.<br />

Case Study. As a challenging case study we apply the framework to provide a transparent accurate<br />

high-level definition of the execution semantics of the current <strong>BPMN</strong> st<strong>and</strong>ard, covering<br />

each of its constructs so that we obtain a complete abstract interpreter for <strong>BPMN</strong> diagrams (see<br />

Appendix 9). Although the <strong>BPMN</strong> st<strong>and</strong>ard document deals with the semantics of the <strong>BPMN</strong><br />

elements by defining “how the graphical elements will interact with each other, including conditional<br />

interactions based on attributes that create behavioral variations of the elements” [15, p.2],<br />

this part of the specification leaves numerous questions open. For example, most attributes do<br />

not become visible in the graphical representation, although their values definitely influence the<br />

behavioral meaning of what is graphically displayed. The rules we define for each <strong>BPMN</strong> construct<br />

make all the attributes explicit which contribute to determining the semantics of the construct.<br />

This needs a framework with a sufficiently rich notion of state to make the needed attribute data<br />

available. 3<br />

Due to its natural-language character the <strong>BPMN</strong> st<strong>and</strong>ard document is also not free of a certain<br />

number of ambiguities. We identify such issues <strong>and</strong> show how they can be h<strong>and</strong>led in the model<br />

we build. A summary of these issues is listed in Sect. 8.1.<br />

For each <strong>BPMN</strong> construct we describe its behavioral meaning at a high level of abstraction <strong>and</strong><br />

piecemeal, by dedicated transition rules. This facilitates a quick <strong>and</strong> easy reuse of the specifications<br />

when the st<strong>and</strong>ard definitions are completed (to fill in missing stipulations) or changed or extended.<br />

We suggest to put this aspect to use to easen the work on the planned extension of <strong>BPMN</strong> to<br />

<strong>BPMN</strong> 2.0 <strong>and</strong> to adapt the descriptions to definitions in other st<strong>and</strong>ards. For example, most of<br />

the rules defined in this paper or some simple variations thereof also capture the meaning of the<br />

corresponding concepts in UML 2.0 (see [38] for a concrete comparison based upon the <strong>workflow</strong><br />

patterns in [37]). We forsee that our platform <strong>and</strong> machine independent framework can be adopted<br />

to realize the hope expressed in [37, p.25] : “Since the Activity Diagram <strong>and</strong> <strong>Business</strong> Process<br />

Diagram are very similar <strong>and</strong> are views for the same metamodel, it is possible that they will<br />

converge in the future”.<br />

A revised version <strong>BPMN</strong> 1.1 [16] of <strong>BPMN</strong> 1.0 [15] has been published after the bulk of this<br />

work had been done. The changes are minor <strong>and</strong> do not affect the framework we develop in this<br />

2 This does not prevent the use of dedicated arcs to represent also the data flow <strong>and</strong> other associations.<br />

3 The lack of state representation in <strong>BPMN</strong> is identified also in [28] as a deficit of the <strong>notation</strong>.<br />

2

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

Saved successfully!

Ooh no, something went wrong!