On the Expressive Power of (Petri-net-based) Workflow Languages

Slides:



Advertisements
Similar presentations
Semantics Static semantics Dynamic semantics attribute grammars
Advertisements

Models of Concurrency Manna, Pnueli.
1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
Process Models In this section, we focus on the control-flow perspective of processes. We assume that there is a set of activity labels.
Based on: Petri Nets and Industrial Applications: A Tutorial
Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.
Towards Workflow Pattern Support of Event-Driven Process Chains (EPC) Jan Mendling, Gustaf Neumann Dept. of IS and New Media, WU Wien, Austria Markus Nüttgens.
1 Important issues for the future Adaptive and interorganizational workflows Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
Workflow Management Kap. 4. Analyzing Workflows Wil van der Aalst has copyrights to almost all figures in the following slideshow made by Lars Frank.
Process Patterns in BizAGI. Slide 2 Overview Types of events Types of gateways Design patterns list.
MODUL 1 Analisis & Informasi Proses Bisnis (CSA221)
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.
1 Analysis of workflows a-priori and a-posteriori analysis Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department.
Specifying Workflow using CO- OPN Ang Chen SMV group 11 Mars, 2005.
Business Alignment Using Process Mining as a Tool for Delta Analysis Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology Department of Information.
1 From Requirements via Colored Workflow Nets to an Implementation in Several Workflow Systems R.S. Mans – TU Eindhoven W.M.P van der Aalst – TU Eindhoven.
Discovering Coordination Patterns using Process Mining Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology Department of Information and Technology.
Process Mining: Discovering processes from event logs All truths are easy to understand once they are discovered; the point is to discover them. Galileo.
Testing an individual module
BPEL4WS Stewart Green University of the West of England.
Workflow patterns using BPMN 2.0
1 Workflow/Business Process Management Introduction business process management and workflow management Eindhoven University of Technology Faculty of Technology.
Business Process Modeling Workflow Patterns Ang Chen July 8, 2005.
© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
A university for the world real R © 2009, Chapter 23 Epilogue Wil van der Aalst Michael Adams Arthur ter Hofstede Nick Russell.
1 Workflow/Business Process Management Introduction business process management and workflow management Eindhoven University of Technology Faculty of Technology.
Workflow Management Kap. 1. Organizing Workflows
A university for the world real R © 2009, Chapter 18 Process Configuration Florian Gottschalk Marcello La Rosa.
W. M. P. V. D. Aalst, A. H. M. T. Hofstede, B. Kiepuszewski, and A. P. Barros, "Workflow Patterns," Distrib. Parallel Databases, vol. 14, pp. 5-51, 2003.
1 Workflow Management Systems : Functions, architecture, and products. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Web Service Composition workflow patterns in BPEL4WS Eyal Oren DERI 2004/06/02
مهندسی مجدد فرآیندهای تجاری
“Software” Esterel Execution (work in progress) Dumitru POTOP-BUTUCARU Ecole des Mines de Paris
1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Controlling Execution Programming Right from the Start with Visual Basic.NET 1/e 8.
Han-na Yang Rediscovering Workflow Models from Event-Based Data using Little Thumb.
Petri nets refresher Prof.dr.ir. Wil van der Aalst
1 Patterns and Products Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology.
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
Decision Mining in Prom A. Rozinat and W.M.P. van der Aalst Joosung, Ko.
13-1 Chapter 13 Concurrency Topics Introduction Introduction to Subprogram-Level Concurrency Semaphores Monitors Message Passing Java Threads C# Threads.
1 Modeling workflows : The organizational dimension and alternative notations. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2)
Technology of information systems Lecture 5 Process management.
Process Mining – Concepts and Algorithms Review of literature on process mining techniques for event log data.
Concurrent Systems Modeling using Petri Nets
Software Engineering (CSI 321)
Graph-Based Operational Semantics
Concurrent Systems Modeling using Petri Nets – Part II
Wil van der Aalst Eindhoven University of Technology
Wil van der Aalst Eindhoven University of Technology
BPEL Eric Verbeek In these two hours (approx.) we will give an overview of BPEL, the Business Process Execution Language. We will also give some of the.
Workflow Management Systems: Functions, architecture, and products.
Marlon Dumas marlon.dumas ät ut . ee
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Wil van der Aalst Eindhoven University of Technology
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Simple Sequencing Part 2
Business Alignment Using Process Mining as a Tool for Delta Analysis
Presentation transcript:

On the Expressive Power of (Petri-net-based) Workflow Languages 16 april 2017 Workflow Patterns On the Expressive Power of (Petri-net-based) Workflow Languages Wil van der Aalst Eindhoven University of Technology Department of Information and Technology P.O. Box 513, 5600 MB Eindhoven The Netherlands w.m.p.v.d.aalst@tm.tue.nl

Outline Workflow management systems 16 april 2017 Outline Workflow management systems Limitations of contemporary systems Workflow patterns Limitations of (colored) Petri nets Patterns involving multiple instances Advanced synchronization patterns Cancellation patterns YAWL: Yet Another Workflow Language Examples Conclusion

Workflow management systems

Reference model of the Workflow Management Coalition What? When? Who?

Limitations of existing workflow management systems: The three most serious problems

1. No support for analysis 4 runs (8 sequences) are possible: Only one is correct.

Improved process

2. Lack of flexibility Etc. Staffware FLOWer Etc. COSA MQSeries Vectus InConcert Ensemble Notes Exchange

3. Limited expressive power workflow patterns

Workflow patterns Joint work with Arthur ter Hofstede (QUT), Bartek Kiepuszewski (QUT), Alistair Barros (DSTC), Oscar Ommert (EUT), Ton Pijpers (ATOS), et al.

Workflow patterns The academic response A quest for the basic requirements 20 basic patterns 16 systems Joint work with QUT, ATOS, etc.

Categories of patterns Advanced Branching and Synchronization Patterns Pattern 6 (Multi-choice) Pattern 7 (Synchronizing Merge) Pattern 8 (Multi-merge) Pattern 9 (Discriminator) Basic Control Flow Patterns Pattern 1 (Sequence) Pattern 2 (Parallel Split) Pattern 3 (Synchronization) Pattern 4 (Exclusive Choice) Pattern 5 (Simple Merge) Structural Patterns Pattern 10 (Arbitrary Cycles) Pattern 11 (Implicit Termination) State-based Patterns Pattern 16 (Deferred Choice) Pattern 17 (Interleaved Parallel Routing) Pattern 18 (Milestone) Patterns involving Multiple Instances Pattern 12 (Multiple Instances Without Synchronization) Pattern 13 (Multiple Instances With a Priori Design Time Knowledge) Pattern 14 (Multiple Instances With a Priori Runtime Knowledge) Pattern 15 (Multiple Instances Without a Priori Runtime Knowledge) Cancellation Patterns Pattern 19 (Cancel Activity) Pattern 20 (Cancel Case)

Pattern 4: Exclusive choice Pattern 2: Parallel split Pattern 3: Synchronization

State-based patterns Advanced Branching and Synchronization Patterns Pattern 6 (Multi-choice) Pattern 7 (Synchronizing Merge) Pattern 8 (Multi-merge) Pattern 9 (Discriminator) Basic Control Flow Patterns Pattern 1 (Sequence) Pattern 2 (Parallel Split) Pattern 3 (Synchronization) Pattern 4 (Exclusive Choice) Pattern 5 (Simple Merge) Structural Patterns Pattern 10 (Arbitrary Cycles) Pattern 11 (Implicit Termination) State-based Patterns Pattern 16 (Deferred Choice) Pattern 17 (Interleaved Parallel Routing) Pattern 18 (Milestone) Patterns involving Multiple Instances Pattern 12 (Multiple Instances Without Synchronization) Pattern 13 (Multiple Instances With a Priori Design Time Knowledge) Pattern 14 (Multiple Instances With a Priori Runtime Knowledge) Pattern 15 (Multiple Instances Without a Priori Runtime Knowledge) Cancellation Patterns Pattern 19 (Cancel Activity) Pattern 20 (Cancel Case)

Example process: Complaints handling process_form send_form c1 c5 archive c3 time-out evaluate start register ready c7 c2 c6 c4 check_proc process_complaint

Workflow pattern 16: Deferred Choice process_form send_form c1 c5 archive c3 time-out evaluate start register ready c7 c2 c6 c4 check_proc process_complaint

Workflow pattern 18: Milestone process_form send_form c1 c5 archive c3 time-out evaluate start register ready c7 c2 c6 c4 check_proc process_complaint

The process can be handled by COSA …. But not by many others …

basic adv. synch. struct. mult. inst. state cancel pattern product Staffware COSA InConcert Eastman FLOWer Domino Meteor Mobile 1 (seq) + 2 (par-spl) 3 (synch) 4 (ex-ch) +/- 5 (simple-m) 6 (m-choice) - 7 (sync-m) 8 (multi-m) 9 (disc) 10 (arb-c) 11 (impl-t) 12 (mi-no-s) 13 (mi-dt) 14 (mi-rt) 15 (mi-no) 16 (def-c) 17 (int-par) 18 (milest) 19 (can-a) 20 (can-c) basic adv. synch. struct. mult. inst. state cancel

basic adv. synch. struct. mult. inst. state cancel pattern product MQSeries Forté Verve Vis. WF Changeng. I-Flow SAP/R3 1 (seq) + 2 (par-spl) 3 (synch) 4 (ex-ch) 5 (simple-m) 6 (m-choice) 7 (sync-m) - 8 (multi-m) 9 (disc) 10 (arb-c) +/- 11 (impl-t) 12 (mi-no-s) 13 (mi-dt) 14 (mi-rt) 15 (mi-no) 16 (def-c) 17 (int-par) 18 (milest) 19 (can-a) 20 (can-c) basic adv. synch. struct. mult. inst. state cancel

Practical impact http://www.tm.tue.nl/it/research/patterns                                                                                                                                                                                                                                           http://www.tm.tue.nl/it/research/patterns +/- 50 pageviews per w-day (>11.000 in total) Publications in Computable, Automatisering Gids, Business Process Magazine, VIP, Scope, etc.

Practical impact (2) Patterns are used in several selection processes (e.g., at this point in time by UWV – handling all job related insurances in the Netherlands) Role of vendors has been opportunistic “The fastest way to succeed is to look as if you're playing by somebody else's rules, while quietly playing by your own.” Michael Konda

Limitations of (colored) Petri nets

Strengths and weaknesses Advanced Branching and Synchronization Patterns Pattern 6 (Multi-choice) Pattern 7 (Synchronizing Merge) Pattern 8 (Multi-merge) Pattern 9 (Discriminator) Basic Control Flow Patterns Pattern 1 (Sequence) Pattern 2 (Parallel Split) Pattern 3 (Synchronization) Pattern 4 (Exclusive Choice) Pattern 5 (Simple Merge) Structural Patterns Pattern 10 (Arbitrary Cycles) Pattern 11 (Implicit Termination) State-based Patterns Pattern 16 (Deferred Choice) Pattern 17 (Interleaved Parallel Routing) Pattern 18 (Milestone) Patterns involving Multiple Instances Pattern 12 (Multiple Instances Without Synchronization) Pattern 13 (Multiple Instances With a Priori Design Time Knowledge) Pattern 14 (Multiple Instances With a Priori Runtime Knowledge) Pattern 15 (Multiple Instances Without a Priori Runtime Knowledge) Cancellation Patterns Pattern 19 (Cancel Activity) Pattern 20 (Cancel Case)

Three patterns difficult for (colored) Petri nets One pattern for each of the following categories: Patterns involving multiple instances (Pattern 7) Advanced synchronization patterns (Pattern 15) Cancellation patterns (Pattern 20) We are not interested in expressive power in the formal sense, instead we focus on practical limitations of using (colored) Petri nets as a workflow language.

(cf. MQSeries Workflow/EPCs) Pattern 7 (Synchronizing Merge)     Description A point in the workflow process where multiple paths converge into one single thread. If more than one path is taken, synchronization of the active threads needs to take place. (cf. MQSeries Workflow/EPCs)

Intermezzo: Many ways to join C B COSA (Ley): Places have capacity 1. MQSeries Workflow (IBM): True and false tokens. InConcert (TIBCO): Marked graph with conditional tasks. Enterprise Workflow (Eastman)/Domino Workflow (Lotus/IBM): “Wait as long as something may arrive.” Etc.

AND/XOR/OR-join The AND-join synchronizes each incoming connection. (Transition) The XOR-join never synchronizes. (Place) The OR-join has many interpretations: Wait for all to come (Synchronizing merge, Pattern 7) Wait for first to come and ignore others (Discriminator, Pattern 9) Wait for first to come and execute every time (Multi-merge, Pattern 8) Wait for N to come (N-out-of-M join, generalization of Pattern 9) ?

Mapping onto colored Petri nets (1) Passing information from the split to the join. Problems: Assumption: one-to-one correspondence split and join Overhead for designer (introducing counters, separating cases/instances, etc. )

Mapping onto colored Petri nets (2) Passing true and false tokens. Problems: Overhead for designer (introducing color sets, separating cases/instances, etc. ) Not possible when having loops

Mapping onto colored Petri nets (3) Timeout mechanism. Problems: Overhead for designer Incorrect mapping

Mapping onto colored Petri nets (4) Build new scheduler which explores progress condition. Problems: Overhead for designer Process structure not in model structure but in data

Pattern 15 (Multiple Instances Without a Priori Runtime Knowledge)     Description For one case an activity is enabled multiple times. The number of instances of a given activity for a given case is not known during design time, nor is it known at any stage during runtime, before the instances of that activity have to be created. Once all instances are completed some other activity needs to be started. The difference with Pattern 14 is that even while some of the instances are being executed or already completed, new ones can be created.

Example Within an insurance claim there may be multiple witnesses, i.e., multiple instances of a subprocess within a case. The number of instances may change dynamically (e.g., one witness pointing out a new witness). It is important not to mix up instances of different cases or different iterations (in loops) and to synchronize properly.

Problem (1) Multiple instances parent child When mapping onto colored nets quite some bookkeeping is needed the separate instances and to keep track of parent-child relations. Instances may be nested (e.g., one witness making several statements). Therefore, a color set like a sequence of natural numbers is needed, e.g., 1, 1.1, 1.2, 1.1.1, 1.1.2, 1.2.1, 1.2.2, 1.2.3, …

Problem (2) Synchronization Child instances having the same parent need to be synchronized. The number of instances is variable and instances are nested. The burden of keeping track of the number of active and completed instances per parent instance is left to the designer when using colored Petri nets (cf. Synchronizing merge).

Pattern 20 (Cancel Case) Description A case, i. e Pattern 20 (Cancel Case)     Description A case, i.e. workflow instance, is removed completely (i.e., even if parts of the process are instantiated multiple times, all descendants are removed). if C

Problems when mapping cancellation patterns onto (colored) Petri nets. Firing rule is local. A vacuum cleaner is needed to remove tokens selectively (case/instance). All tasks need to be connected to some central node.

YAWL Yet Another Workflow Language Joint work with Arthur ter Hofstede (QUT)

Standard constructs Notation and concepts borrowed from Petri nets with case identifiers.

AND/XOR/OR-splits/joins OR-join cannot be mapped on colored nets directly because it has the “Wait for all to come” semantics.

Multiple instances Four attributes: Minimum Maximum Threshold Static/dynamic

Removing tokens from selected parts Can be nested.

Syntactic sugaring

YAWL Semantics of YAWL is not mapped onto (colored) Petri nets but directly onto transition systems. Behavioral properties such as soundness have been defined. YAWL supports all patterns except Implicit termination (Pattern 11). Superior to existing languages.

Examples

Example (1)

Example (2)

Example (3)

Example (4)

Example (5)

Example (6)

Example (7)

Example (8)

Conclusion Patterns turned out to be useful for: Capturing requirements/selecting systems Supporting design efforts Training workflow designers (Colored) Petri nets are superior compared to existing workflow languages. Three problem areas have been identified: Patterns involving multiple instances Advanced synchronization patterns Cancellation patterns A new language has been proposed to overcome these problems: YAWL (Ongoing work).

More information http://www.tm.tue.nl/it/research/patterns http://www.tm.tue.nl/it/staff/wvdaalst

BPM 2003 INTERNATIONAL CONFERENCE ON BUSINESS PROCESS MANAGEMENT On the Application of Formal Methods to “Process-Aware” Information Systems Eindhoven, The Netherlands, June 26-27, 2003 http://www.tm.tue.nl/it/bpm2003