Methods for the specification and verification of business processes MPB (6 cfu, 295AA)



Similar documents
BRIDGING THE GAP BETWEEN BUSINESS MODELS AND WORKFLOW SPECIFICATIONS

BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective

Diagramming Techniques:

Process Modeling Notations and Workflow Patterns

Chapter 2 Introduction to Business Processes, BPM, and BPM Systems

Process Modeling using BPMN 2.0

Model Simulation in Rational Software Architect: Business Process Simulation

Paving the Road to Business Process Automation

Structural Detection of Deadlocks in Business Process Models

The Application of Petri Nets to Workflow Management

Modeling Guidelines Manual

Business Process Management Demystified: A Tutorial on Models, Systems and Standards for Workflow Management

Chapter 3 Essential Process Modeling

EMC A MODELING METHOD FOR DEVELOPING WEB- BASED APPLICATIONS

PROCESS-ORIENTED ARCHITECTURES FOR ELECTRONIC COMMERCE AND INTERORGANIZATIONAL WORKFLOW

E-Commerce Software: From Analysis to Design

Modeling Business Processes with BPMN. Andrea Marrella

Using UML Part Two Behavioral Modeling Diagrams

Process Mining Using BPMN: Relating Event Logs and Process Models

7. Classification. Business value. Structuring (repetition) Automation. Classification (after Leymann/Roller) Automation.

YAWL: Yet Another Workflow Language (Revised version) 2

Process Modelling from Insurance Event Log

Modelling Workflow with Petri Nets. CA4 BPM PetriNets

Dr. Jana Koehler IBM Zurich Research Laboratory

ARIS Education Package Process Design & Analysis

Analysis and Implementation of Workflowbased Supply Chain Management System

Business Process Modeling Information Systems in Industry ( )

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.

Configurable Reference Modeling Languages

Kirsten Sinclair SyntheSys Systems Engineers

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

Bruce Silver Associates Independent Expertise in BPM

Query-Based Approach to Workflow Process Dependency Analysis Technical Report 01 Faculty of Science 2005

Business Process Standards and Modeling

Process Modelling Notations

... Chair of Mobile Business & Multilateral Security. Lecture 13 Business Informatics 2 (PWIN) Business Process Reengineering (BPR) SS 2015

AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects

1.1 Motivation and Definitions

The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary

Towards an Integration of Business Process Modeling and Object-Oriented Software Development

THE SIMULATION OF SOFTWARE PROCESSES IN THE INTEGRATED COMPUTER ENVIRONMENT IN THE CASE OF TELCO SECTOR

VDM vs. Programming Language Extensions or their Integration

Challenges in Business Process Management: Verification of business processes using Petri nets

Methods and Tolls for Business Process Modeling

Quick Guide Business Process Modeling Notation (BPMN)

ProM Framework Tutorial

Business Process Modelling. CA4 Business Process Modelling 1

Business-Driven Software Engineering Lecture 3 Foundations of Processes

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Formal Modeling Approach for Supply Chain Event Management

Process Modeling and Process Improvement. Process Modeling

Compare & Adjust How to Guide for Compare & Adjust in SAP Solution Manager Application Lifecycle Management

Extension the capacity of the cellular network process simulation and optimization

Semantic Analysis of Flow Patterns in Business Process Modeling

Object Oriented Programming. Risk Management

(Refer Slide Time 00:56)

MTAT Business Process Management (BPM) (for Masters of IT) Lecture 2: Introduction to BPMN

BPMN and Simulation. L. J. Enstone & M. F. Clark The Lanner Group April 2006

Goals of the Unit. spm adolfo villafiorita - introduction to software project management

Faculty of Science and Technology MASTER S THESIS. Writer: Artur Latifov

Chapter 4 Software Lifecycle and Performance Analysis

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems

Business Process Modeling

Business Process Modelling Notation A tutorial

Business Process Modeling with BPMN. Dr. Darius Šilingas Head of Solutions Department

EXTENDING BUSINESS PROCESS MODELING TOOLS WITH WORKFLOW PATTERN REUSE

Diagnosing workflow processes using Woflan

2 SYSTEM DESCRIPTION TECHNIQUES

ProM 6 Exercises. J.C.A.M. (Joos) Buijs and J.J.C.L. (Jan) Vogelaar {j.c.a.m.buijs,j.j.c.l.vogelaar}@tue.nl. August 2010

WoPeD - An Educational Tool for Workflow Nets

SemTalk BPMN Tutorial APRIL Tutorial SemTalk 4.3 BPMN Edition for Business Process Analysis

Overview. Semantics of EPCs. EPC Tools. Problem: Vicious Circle. Non-local Semantics of EPCs

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

INTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0

4.7 Business Process Model and Notation

Activity Mining for Discovering Software Process Models

From Business Process Models to Process-oriented Software Systems

OMG releases BPMN What's changed?

Instantiation Semantics for Process Models

Human-Readable BPMN Diagrams

An Introduction to Business Process Modeling

Instructional Systems Design

The Business Process Model

A Method for Verifiable and Validatable Business Process Modeling

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi

Workflows in UML. Peter Rittgen

UPDATES OF LOGIC PROGRAMS

STUDY ON DOCUMENT-DRIVEN WORKFLOW MANAGEMENT SYSTEM BASED ON SELF-DEFINITION FORMS TECHNOLOGY

1 Business Modeling. 1.1 Event-driven Process Chain (EPC) Seite 2

BPMN Business Process Modelling Notation

(Refer Slide Time: 2:03)

Nr.: Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg

SECTION 4 TESTING & QUALITY CONTROL

Business Process Quality Metrics: Log-based Complexity of Workflow Patterns

Complexity Metrics for Business Process Models

Using UML Part One Structural Modeling Diagrams

UML Activities & Actions. Charles ANDRE - UNSA

Understanding Data Flow Diagrams Donald S. Le Vie, Jr.

Transcription:

Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 19 - Event-driven process chains 1

Object We overview EPC and the main challenges that arise when analysing them with Petri nets 2

Event-driven Process Chain An Event-driven Process Chain (EPC) is a particular type of flow-chart that can be used for configuring an Enterprise Resource Planning (ERP) implementation Supported by many tools (e.g. SAP R/3) EPC Markup Language available (EPML) as interchange format 3

EPC overview Important notation to model the domain aspects of business processes Rather informal notation EPC focus is on representing domain concepts and processes (not their formal aspects and technical realization) It can be used to drive the modelling, analysis and redesign of business process 4

EPC origin EPC method was originally developed by Wilhelm-August Scheer (early 1990 s) Part of a holistic modelling approach called ARIS framework (Architecture of Integrated Information Systems) 5

ARIS house (1999): three pillars and a roof... Organization Data Control Functions 6

...and three levels of abstraction each Organization Concept Architecture Implementation Data Control Functions 7

...and three levels of abstraction each Organizational Diagrams Organization Entity Relatioship Diagrams EPC Business Goals Data Control Functions 8

EPC informally An EPC is an ordered graph of events and functions It provides various connectors that allow alternative and parallel execution of processes The flow is specified by logical operators AND,, OR Simple, easy-to-understand notation 9

EPC ingredients: Event Any EPC diagram must start with event(s) and end with event(s) Passive elements used to describe under which circumstances a process (or a function) works or which state a process (or a function) results in (like pre- / post-conditions) Graphical representation: hexagons 10

EPC ingredients: Function Any EPC diagram may involve several functions Active elements used to describe the tasks or activities of a business process Functions can be refined to other EPC Graphical representation: rounded rectangles 11

EPC ingredients: Logical connectors Any EPC diagram may involve several connectors Elements used to describe the logical relationships between elements in the diagram Branch, merge, fork, join Graphical representation: circles (or also octagons) 12

EPC ingredients: Control flow Any EPC diagram may involve several control flow connections Control flow is used to connect events with functions and connectors by expressing causal dependencies Graphical representation: dashed arrows 13

EPC ingredients at glance 14

EPC ingredients: Diagrams EPC elements can be combined in a fairly free manner (possibly including cycles) There must be at least one start event and one end event Events have at most one incoming and one outgoing arc Events have at least one incident arc Functions have exactly one incoming and one outgoing arc The graph is weakly connected (no isolated nodes) Connectors have either one incoming arc and multiple outgoing arcs or viceversa (multiple incoming arcs and one outgoing arc) 15

EPC ingredients: Diagrams Other constraints are sometimes imposed There is no arc between two events There is no arc between two functions Unique start / end event No event is followed by a decision node (i.e. (X)OR-split) 16

EPC an example Petri Net Transformations for Business Processes A Survey 53 Finish image f finish failed Start u V V Evaluate e V redo Create thumbnail t thumbnail failed Image too big Send link l Link sent Image small enough Send image m Image sent function event function Legend Start event Simple flow Sequence End event -split Exclusive choice V AND-split Parallel split V OR-split Multi-choice -join Simple merge V AND-join Synchronization V OR-join Gen. Sync. Merge Fig. 4. The example process as an EPC 17

Other stuff Other decorations / annotations for functions: Information, material, resource object: represents objects in the real world that can be input data or output data for a function (rectangles linked to function boxes) Organization unit: determines the person or organization responsible for a specific function (ellipses with a vertical line) Supporting system: technical support (rectangles with vertical lines on its sides) 18

EPC intuitive semantics A process starts when some initial event(s) occurs The activities are executed according to the constraints in the diagram When the process is finished, only final events have not been dealt with If this is always the case, then the EPC is correct 19

Syntax! Events! Functions! Connectors! Control flow Folder-passing semantics Semantics! State: Process folders! Transition relation: Propagation of process folders On the semantics of EPCs - Efficient calulation and simulation 5 20

Event Folder-passing University of Paderborn Software Engineering Group E. Kindler semantics: events On the semantics of EPCs - Efficient calulation and simulation 21

ND-Split Folder-passing University of Paderborn Software Engineering Group E. Kindler semantics: AND-split 22

Folder-passing -Split University of Paderborn Software Engineering Group semantics: -split E. Kindler 23

Folder-passing semantics: -join University of Paderborn Software Engineering Group E. Kindler -Join 24

f2 c2 Folder-semantics Stop1 Stop2 Inner2 f 2 Figure 1: An EPC c. d. in one slide a. e e b. f f Stop2 e. f. c. d. An EPC b. f f e. f. g. h. d. 25

is that the process folders are stuck at f1 and f2. The two OR-joins the process folders to the Inner events. A vicious circle Start1 Start2 f1 f2 Inner1 Inner2 f 1 f 2 Stop1 26 Stop2

n example without a semantics University of Paderborn Software Engineering Group E. Kindler A vicious circle? n the semantics of EPCs - Efficient calulation and simulation 27 13

EPC semantics? Little unanimity around the EPC semantics Roughly described (verbal form) in the original publication by Scheer (1992) Later, several attempts to define formal semantics (in many cases they end up attributing different meanings to the same EPC) Discrepancies typically stem from the interpretation of (X)OR connectors (in particular, join case) Other issues: unclear start, join/split balancing, alternation of events and functions 28

Problem with start events A start event is an event with no incoming arc A start event invokes a new execution of the process template What if multiple start events occur? Start events are mutually exclusive (as if they were preceded by an implicit split) 29

Problem with start events hypothetical / implicit split A B 30

Problem with corresponding splits The semantics of a join often depends on whether or not it has a corresponding split In theory, every join has at least one candidate split (i.e. a split for which there is a path from either output to the input of the join) proof: we trace backward the paths leading to the join from start events; if the start events coincide there must be a split node in the path; if start events differ, the candidate split is the implicit But there can be more candidates to corresponding split and they can have different type than the join (candidates of the same type of the join are called matching split) Some suggested to have a flag that denotes the corresponding split 31

Problem with corresponding splits s1 s2 j1 {s1} j2 {s2} 32

Problem with OR join If an OR join has a matching split, the semantics is usually: wait for the completion of all paths activated by the matching split If there is no matching split, some ambiguities can arise: wait-for-all: wait for the completion of all activated paths (default semantics, because it coincides with that of a matched OR) first-come: wait only for the path that is completed first and ignore the second every-time: trigger the outgoing path on each completion (the outgoing path can be activated multiple times) Some suggested to have different (trapezoid) symbols or suitable flags to distinguish the above cases and allow them all 33

Problem with OR join 34

Problem with join Similar considerations hold for the join If a join has a matching split, the semantics is intuitive: it blocks if both paths are activated and it is triggered by the completion of a singe activated path If there is no matching split: all feasible interpretations that do not involve blocking are already covered by the OR (wait-for-all, first-come, every-time) and contradict the exclusivity of the (a token from one path can be accepted only if we make sure that no second token will arrive via the other path) Some suggest to just forbid the use of in the unmatched case (the implicit start split is allowed as a valid match) 35

Problem with join 36

Problem with alternation Empirical studies have shown that middle and upper management people consider strict alternation between events and functions as too restrictive: they find it hard to identify the necessary events at the abstract level of process description they are working at It is safe to drop this requirement, as dummy events might always be added later, if needed 37

Translation of EPC to Petri nets 38

Idea We transform EPC diagrams to Workflow nets We exploit the formal semantics of nets to give unambiguous semantics to EPC diagrams We apply the verification tools we have seen to check if the net is sound: the EPC diagram is sound if its net is so 39

A note about the transformation We first transform each event, function and connector separately in small nets When translating the control flow arcs we may then introduce other places / transitions to preserve the bipartite structure in the net (no arc allowed between two places, no arc allowed between two transitions) We show two translations, depending on whether the join are decorated or not 40

First attempt (decorated EPC) 41

EPC Petri net A event place 42

EPC Petri net function transition 43

EPC Petri net AND split net 44

EPC Petri net OR split net 45

EPC Petri net split net 46

EPC Petri net AND join net 47

EPC Petri net corresponding split??? join net 48

EPC Petri net corresponding /OR split? join ok net 49

EPC Petri net corresponding AND/OR split?? dangling deadlock! tokens! join net 50

EPC Petri net matched part OR join net with matched OR split 51

EPC Petri net corresponding split??? wfa OR join net wait-for-all (unmatched) 52

EPC Petri net corresponding AND split wfa OR join net wait-for-all (unmatched) 53

EPC Petri net corresponding split wfa OR join net wait-for-all (unmatched) 54

EPC Petri net corresponding split??? fc OR join first-come (unmatched) net 55

EPC Petri net corresponding split fc ok OR join first-come (unmatched) net 56

EPC Petri net corresponding AND split fc dangling token! OR join first-come (unmatched) net 57

EPC Petri net corresponding split??? et OR join net every-time (unmatched) 58

EPC Petri net corresponding split et ok OR join net every-time (unmatched) 59

EPC Petri net corresponding AND split et OR join every-time (unmatched) two tokens! net 60

split join corresp. split matched OR split corresp. split: wfa corresp. split: fc corresp. split: et 61

Ill-formed net Petri net dummy transition 62

Ill-formed net Petri net dummy place 63

Exercise Sound? (first-come) f a modepc 64

ZOOM IN (first-come) 65

ers, which are propagated between the different nodes of the EPC along its control arcs. The connectors, which are represented as circles, may join and split process ers. This way, the connectors define the routing and the synchronization of process ers. For our example, we assume that, initially, there is one process folder on each of two events Start1 and Start2. Exercise Start1 Start2 f1 f2 By pass Inner1 Inner2 Sound? Empty f 1 f 2 Stop1 Stop2 66

Summary of possible problems We need to decorate the EPC diagram OR-join decorated with corresponding splits OR-join decorated with policies (unmatched split) Split / join mismatch may induce unexpected behaviour Possible introduction of dummy places and transitions 67

Second attempt (no decoration available) 68

Simplified EPC We rely on event / function alternation along paths in the diagram and also along paths between two connectors OR-connectors are not considered 69

EPC 2 Petri nets event place function transition : Events are mapped onto places and functions are mapped onto 70

EPC 2 Petri nets e1 e2 e1 e2 f1 f2 f1 f2 V V f1 f1 e1 e1 e1 e2 e1 e2 f1 f2 f1 f2 71

EPC 2 Petri nets f1 f1 e1 e1 e1 e1 f1 f1 V V f1 f2 f1 f2 e1 e2 e1 e1 e1 f1 f1 e2 72

V EPC 2 Petri nets V f1 f1 e1 e1 e1 e2 e1 e2 f1 f2 f1 f2 f1 f1 e1 e1 e1 e1 f1 f1 73

V V EPC 2 Petri nets f1 f2 f1 f2 e1 e2 e1 e2 e1 e1 f1 f1 f1 f2 f1 f2 e1 e2 e1 e2 Figure 4: Mapping connectors onto places and transitions. 74 11

Petri net. Figure 5 illustrates the approach that is used to handle arcs in. The arc between the -join (join connector of type ) and the AND-join (join connector of type ) is replaced by function X and event X and three arcs. The arc between EPC the AND-join 2 nets: and the -split Example is also replaced by a function, an event and three arcs. event A event B event C event A event B event C event A event B event C function X function X event X event X V V function Y function Y event Y event Y function D function E function D function E function D function E Figure 5: Arcs between connectors are replaced by events and functions before the 75 event-driven process chain is mapped onto a Petri net.

Outcome From any EPC we derive a free-choice net Moreover, if we add unique start / end events (and suitable transitions attached to them) the net is a workflow net 76

customer order received customer order accepted check availability customer order received compare customer order data customer order rejected Exercise customer order accepted check availability compare customer order data customer order rejected articles available articles need to be produced articles available articles need to be produced ship order order shipped purchase material material available V make production plan plan available Sound! ship order order shipped purchase material material available make production plan plan available send bill V produce articles send bill produce articles outstanding accounts finished product outstanding accounts finished product check payment check payment customer order completed odeling of a business process, using event-driven process chains. 77 customer order completed Figure 6: The event-driven process chain of Figure 1, mapped onto

customer order received register customer order V Exercise start billing start production send bill V purchase material make production plan outstanding accounts material available plan available V check payment V produce articles finished product Sound? V (remind to add dummy no billing needed billing completed ship order events and functions) order shipped 78

ZOOM IN customer order received register customer order V V send bill purchase material outstanding accounts material available produce articles finished product make production plan plan available V V start start billing production check payment V no billing needed billing completed ship order order shipped 79

Relaxed soundness (a third attempt) 80

Popularity vs superiority EPC are a quite successful, semiformal notation They lack a comprehensive and consistent syntax They lack even more a corresponding semantics You may enrich the notation, but people will dislike or misinterpret implementation policies You may restrict the notation, but people will prefer the more liberal (flexible) syntax and ignore the guidelines 81

Remember some good old friends Chief Process Officer EPC Business engineer Process participants System architect WFnet Process designer Knowledge worker 82 Process responsible System developer

What are ultimately business process? Graphical language to communicate concepts Careful selection of symbols shapes, colors, arrows (the alphabet is necessary for communication) Greatest common denominator of the people involved Intuitive meaning (verbal description, no math involved) 83

A secret not to tell The more ways are to interpret a certain construct the more likely an agreement will be reached 84

A pragmatic consideration Moreover in the analysis phase the participants may not be ready to finalise the specification and decide for the correct interpretation However ambiguous process description constitutes a major problem in the design phase 85

Consequences Yet it is important to find out flaws as soon as possible Therefore we need to fix a formal representation that preserves all ambiguities 86

Problem EPC is fine (widely adopted) WF net offer a useful tool but Soundness is too demanding at early stages 87

Relaxed soundness A sound behaviour: we move from a start event to an end event so that nothing blocks or remains undone Execution paths leading to unsound behaviour can be used to infer potential mistakes in the EPC If some unsound behaviour is possible but enough sound paths exist the process is called relaxed sound 88

A 3-steps approach (keep it simple!) 89

Step 1: straightforward 162 Juliane Dehnert and Peter Rittgen Petri net are equivalent, because both accept the same executions. Note that the case that E is reached twice if F 1 and F 2 occur sequentially has not been excluded. element map EPC PN EPC PN > > > > 90

Step 2: element fusion A B A B A B Unification of elements (Case1) ta tab tb OR Step 1 Step 2 Mapping EPC elements Modul combination to PN!modules C C Fusion of arcs (Case2) C Figure 4: Transformation of the OR-connector. 91

new places are connected to the Petri net so that the places rep y start events (or end events) of the EPC are initialized (clean tion of the new places to the primary places is not trivial and ation of the corresponding events in the EPC. start2 exclusive or parallel. Therefore, a new start place and/or a new sink p These new places are connected Step to the 3: Petri net so that the places re primary start events (or end events) of the EPC are initialized (clea connection of the new places to the primary places is not trivial an the relation of the corresponding events in the EPC. a) start1 Step1 & Step2 add unique start / end start b) start1 start2 Step1 & Step2 start2 start1 start2 Step3 start1 Step3 start1 start2 start start2 b) start end1 AND end1 AND end2 end2 Step1 & Step2 Step1 & Step2 end1 end1 end2 end2 Step S (sometimes AND can be preferred) c) end1 c) end2 end1 end2 end1 end1 end2 end2 end1 end2 end1 end2 Step1 & Step2 Step1 & Step2 Step3 OR Step3 OR end end 92 OR end Figure 5: Step 3: Adding new start and sink places.

> goods arrived E11 > C6 Example check goods F8 C8 C7 ok E15 not_ok E14 complaint F10 record receipt of goods F9 Sound? data revised E16 goods recorded E12 C11 > C12 store goods F13 stored E20 Fig. 1. Handling of incoming goods 93

> > goods has been introduced and to the example below. arrived E11 Applying the proposed rules 1 to 3, an EPC is transformed into a WF net. This > C6 transformation is unique, in the sense that to each EPC belongs exactly one WF net. check goods Example F8 An example for such a transformation is shown in Fig. 5. Here the EPC from Fig. 1 has been transformed C8 into a WF net. For convenience we surrounded the Petri net- C7 modules which correspond to the routing constructs of the EPC with dotted ok not_ok E15 E14 rectangles. F9 record Transition t10_ complaint AND-Join and the sink place o have been added due to rule 3. Transition receipt of F10 goods t10_ AND-Join corresponds to an AND connector which complements the last connector on goods data Not sound! revised E12 the paths from the recorded E16end events E12 and E20, namely connector C12. Transition t10_ AND- Join bundles the different path and leads to the sink place o. C11 > C12 store goods F13 stored E20 t5_ OR-Join > Fig. 1. Handling of incoming goods s3 t6_ OR-Join record receipt of goods goods recorded goods arrived i t1_ AND-Split s1 s2 check goods t2_ -Split t3_ -Split not_ok ok complaint 94 data revised > t4_ AND-Split s4 s6 t8_ t9_ t7_ OR-Join -Join -Join s7 s5 store goods t10_ AND-Join stored o >

> has been introduced and to the example below. Applying the proposed rules 1 to 3, an EPC is transformed into a WF net. This transformation is unique, in the sense that to each EPC belongs exactly one WF net. An example for such a transformation Example is shown in Fig. 5. Here the EPC from Fig. 1 has been transformed into a WF net. For convenience we surrounded the Petri netmodules which correspond to the routing constructs of the EPC with dotted rectangles. Transition t10_ We can turn it to sound, but: AND-Join and the sink place o have been added due to rule 3. Transition t10_ AND-Join corresponds to an AND connector which complements the last connector on the paths small from the changes end events E12 in and the E20, namely net, connector turn big C12. Transition in EPCt10_ ANDbundles the different path and leads to the sink place o. Join t5_ OR-Join > s3 t6_ OR-Join record receipt of goods goods recorded goods arrived i t1_ AND-Split s1 s2 check goods t2_ -Split t3_ -Split not_ok ok complaint 95 data revised > t4_ AND-Split s4 s6 t8_ t9_ t7_ OR-Join -Join -Join s7 s5 store goods t10_ AND-Join stored o >

Relaxed soundness: formally Definition: A WF net is relaxed sound if every transition belongs to a firing sequence that starts in state i and ends in state o t T. M,M.i M t M o (it is sound enough, in the sense that all transitions are covered by at least one sound execution) 96

> > goods has been introduced and to the example below. arrived E11 Applying the proposed rules 1 to 3, an EPC is transformed into a WF net. This > C6 transformation is unique, in the sense that to each EPC belongs exactly one WF net. check goods Example F8 An example for such a transformation is shown in Fig. 5. Here the EPC from Fig. 1 has been transformed C8 into a WF net. For convenience we surrounded the Petri net- C7 modules which correspond to the routing constructs of the EPC with dotted ok not_ok E15 E14 rectangles. F9 record Transition t10_ complaint AND-Join and the sink place o have been added due to rule 3. Transition receipt of F10 goods t10_ AND-Join corresponds to an AND connector which complements the last connector on goods data Relaxed sound? revised E12 the paths from the recorded E16end events E12 and E20, namely connector C12. Transition t10_ AND- Join bundles the different path and leads to the sink place o. C11 > C12 store goods F13 stored E20 t5_ OR-Join > Fig. 1. Handling of incoming goods s3 t6_ OR-Join record receipt of goods goods recorded goods arrived i t1_ AND-Split s1 s2 check goods t2_ -Split t3_ -Split not_ok ok complaint 97 data revised > t4_ AND-Split s4 s6 t8_ t9_ t7_ OR-Join -Join -Join s7 s5 store goods t10_ AND-Join stored o >

> > goods has been introduced and to the example below. arrived E11 Applying the proposed rules 1 to 3, an EPC is transformed into a WF net. This > C6 transformation is unique, in the sense that to each EPC belongs exactly one WF net. check goods Example F8 An example for such a transformation is shown in Fig. 5. Here the EPC from Fig. 1 has been transformed C8 into a WF net. For convenience we surrounded the Petri net- C7 modules which correspond to the routing constructs of the EPC with dotted ok not_ok E15 E14 rectangles. F9 record Transition t10_ complaint AND-Join and the sink place o have been added due to rule 3. Transition receipt of F10 goods t10_ AND-Join corresponds to an AND connector which complements the last connector on goods data Relaxed sound? revised E12 the paths from the recorded E16end events E12 and E20, namely connector C12. Transition t10_ AND- Join bundles the different path and leads to the sink place o. C11 > C12 store goods F13 stored E20 t5_ OR-Join > Fig. 1. Handling of incoming goods s3 t6_ OR-Join record receipt of goods goods recorded goods arrived i t1_ AND-Split s1 s2 check goods t2_ -Split t3_ -Split not_ok ok complaint 98 data revised > t4_ AND-Split s4 s6 t8_ t9_ t7_ OR-Join -Join -Join s7 s5 store goods t10_ AND-Join stored o >

> > goods has been introduced and to the example below. arrived E11 Applying the proposed rules 1 to 3, an EPC is transformed into a WF net. This > C6 transformation is unique, in the sense that to each EPC belongs exactly one WF net. check goods Example F8 An example for such a transformation is shown in Fig. 5. Here the EPC from Fig. 1 has been transformed C8 into a WF net. For convenience we surrounded the Petri net- C7 modules which correspond to the routing constructs of the EPC with dotted ok not_ok E15 E14 rectangles. F9 record Transition t10_ complaint AND-Join and the sink place o have been added due to rule 3. Transition receipt of F10 goods t10_ AND-Join corresponds to an AND connector which complements the last connector on goods data Relaxed sound? revised E12 the paths from the recorded E16end events E12 and E20, namely connector C12. Transition t10_ AND- Join bundles the different path and leads to the sink place o. C11 > C12 store goods F13 stored E20 t5_ OR-Join > Fig. 1. Handling of incoming goods s3 t6_ OR-Join record receipt of goods goods recorded goods arrived i t1_ AND-Split s1 s2 check goods t2_ -Split t3_ -Split not_ok ok complaint 99 data revised > t4_ AND-Split s4 s6 t8_ t9_ t7_ OR-Join -Join -Join s7 s5 store goods t10_ AND-Join stored o >

> > goods has been introduced and to the example below. arrived E11 Applying the proposed rules 1 to 3, an EPC is transformed into a WF net. This > C6 transformation is unique, in the sense that to each EPC belongs exactly one WF net. check goods Example F8 An example for such a transformation is shown in Fig. 5. Here the EPC from Fig. 1 has been transformed C8 into a WF net. For convenience we surrounded the Petri net- C7 modules which correspond to the routing constructs of the EPC with dotted ok not_ok E15 E14 rectangles. F9 record Transition t10_ complaint AND-Join and the sink place o have been added due to rule 3. Transition receipt of F10 goods t10_ AND-Join corresponds to an AND Not connector relaxed which complements sound! the last connector on goods data revised recorded E12 the paths from the E16end events E12 and E20, namely connector C12. Transition t10_ But sound as EPC AND- Join bundles the different path and leads to the sink place o. C11 C12 > store goods F13 stored E20 t5_ OR-Join > Fig. 1. Handling of incoming goods s3 t6_ OR-Join record receipt of goods goods recorded goods arrived i t1_ AND-Split s1 s2 check goods t2_ -Split t3_ -Split not_ok ok complaint 100 data revised > t4_ AND-Split s4 s6 t8_ t9_ t7_ OR-Join -Join -Join s7 s5 store goods t10_ AND-Join stored o >

Pros and Cons If the WF net is not sound: there are transitions that are not contained in any sound firing sequence Hence their EPC counterparts need improvements Relaxed soundness can be proven only by enumeration (of enough sound firing sequences) No equivalent characterisation is known that is more convenient to check 101