28.01.2015 Views

Semantics, Verification, and Implementation of Workflows ... - YAWL

Semantics, Verification, and Implementation of Workflows ... - YAWL

Semantics, Verification, and Implementation of Workflows ... - YAWL

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 2. Formal foundations<br />

Chapter 2<br />

Formal foundations<br />

This chapter introduces elementary definitions <strong>and</strong> concepts concerning Petri<br />

nets, Reset nets, Workflow nets, <strong>and</strong> <strong>YAWL</strong>. We decide to follow the approach<br />

<strong>of</strong> using Petri nets for formal specification <strong>of</strong> workflows due to the formalism,<br />

graphical nature <strong>and</strong> analysis techniques. As cancellation <strong>and</strong> OR-joins cannot<br />

be represented in Petri nets, we propose to use reset nets, which are Petri nets<br />

with reset arcs. Reset arcs provide direct support for the cancellation feature.<br />

Section 2.1 introduces Petri nets <strong>and</strong> reset nets. We then look at how a workflow<br />

can be formally defined using Petri nets <strong>and</strong> reset nets. Section 2.2 presents definitions<br />

<strong>and</strong> properties <strong>of</strong> WorkFlow Nets (WF-nets) <strong>and</strong> Reset WorkFlow Nets<br />

(RWF-nets), a subclass <strong>of</strong> reset nets. Section 2.3 is devoted to definitions <strong>and</strong><br />

properties <strong>of</strong> <strong>YAWL</strong> specifications. We give formal definitions <strong>of</strong> four structural<br />

properties: soundness, weak soundness, irreducible cancellation regions, <strong>and</strong> immutable<br />

OR-joins. Section 2.4 presents necessary abstractions <strong>and</strong> a function to<br />

transform <strong>YAWL</strong> nets into corresponding RWF-nets.<br />

Parts <strong>of</strong> this chapter have been published previously [WEAH05, WEAH06].<br />

2.1 Petri nets <strong>and</strong> Reset nets<br />

Petri nets were originally introduced by Carl Adam Petri [Pet62] <strong>and</strong> since then,<br />

they are widely used as mathematical models <strong>of</strong> concurrent systems for various<br />

domains [Pet81, DE95]. Numerous analysis techniques exist to determine various<br />

properties <strong>of</strong> Petri nets <strong>and</strong> its subclasses [Pet81, DE95, Mur89, RR98a, RR98b].<br />

Definition 2.1 (Petri net [Pet62, Pet81]) A Petri net is a tuple (P, T, F )<br />

where P is a (non-empty finite) set <strong>of</strong> places, T is a set <strong>of</strong> transitions, P ∩T = ∅<br />

<strong>and</strong> F ⊆ (P × T ) ∪ (T × P ) is the set <strong>of</strong> arcs.<br />

Petri nets have a graphical representation that is easy to underst<strong>and</strong>. A Petri<br />

net is modelled with two types <strong>of</strong> nodes: places <strong>and</strong> transitions. Arcs connect<br />

one type <strong>of</strong> node to the other. Graphically, places are represented by circles,<br />

transitions by square boxes or bars, <strong>and</strong> arcs by directed arrows indicating the<br />

flow. The direction <strong>of</strong> an arrow indicates whether a place is an input place <strong>of</strong> a<br />

transition or an output place <strong>of</strong> a transition.<br />

PhD Thesis – c○ 2006 M.T.K Wynn – Page 11

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

Saved successfully!

Ooh no, something went wrong!