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

Similar documents
The Decent Philosophers: An exercise in concurrent behaviour

Petri nets. s 1 s 2. s 3 s 4. directed arcs.

fakultät für informatik informatik 12 technische universität dortmund Petri nets Peter Marwedel Informatik 12 TU Dortmund Germany

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

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

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

Business Processes Modelling MPB (6 cfu, 295AA)

Embedded Systems 6 REVIEW. Place/transition nets. defaults: K = ω W = 1

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

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

Petri Nets and Model Checking. Natasa Gkolfi. University of Oslo. March 31, 2017

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

Specification models and their analysis Petri Nets

7. Queueing Systems. 8. Petri nets vs. State Automata

A Static Analysis Technique for Graph Transformation Systems

Discrete Event Systems Exam

The State Explosion Problem

Analysis and Optimization of Discrete Event Systems using Petri Nets

Design and Analysis of Distributed Interacting Systems

Compositional Analysis of Timed-arc Resource Workflows with Communication

Directed Topology and Concurrency Theory.

Time and Timed Petri Nets

Automata-Theoretic Model Checking of Reactive Systems

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007

Auctioning Substitutable Goods

Industrial Automation (Automação de Processos Industriais)

Complete Process Semantics for Inhibitor Nets Technical Report

Time Petri Nets. Miriam Zia School of Computer Science McGill University

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

c 2011 Nisha Somnath

Design of Distributed Systems Melinda Tóth, Zoltán Horváth

A Framework for the Verification of Infinite-State Graph Transformation Systems 1

MODEL CHECKING - PART I - OF CONCURRENT SYSTEMS. Petrinetz model. system properties. Problem system. model properties

Simulation of Spiking Neural P Systems using Pnet Lab

Supplementary Notes on Inductive Definitions

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Markings in Perpetual Free-Choice Nets Are Fully Characterized by Their Enabled Transitions

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie

The Alignment of Formal, Structured and Unstructured Process Descriptions. Josep Carmona

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Modelling of Railway Network Using Petri Nets

Lecture Notes on Inductive Definitions

Interorganizational Workflow Nets: a Petri Net Based Approach for Modelling and Analyzing Interorganizational Workflows

Communication and Concurrency: CCS

Introduction to mcrl2

A deadlock prevention method for railway networks using monitors for colored Petri nets

Lecture 2 Automata Theory

Finite Automata. Dr. Neil T. Dantam. Fall CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Finite Automata Fall / 43

Reliability of Technical Systems. Advanced Methods for Systems Modelling and Simulation I : Petri Nets

Trace- and Failure-Based Semantics for Responsiveness

Free-Choice Petri Nets without Frozen Tokens, and Bipolar Synchronization Systems. Joachim Wehler

1. sort of tokens (e.g. indistinguishable (black), coloured, structured,...),

NEW COLOURED REDUCTIONS FOR SOFTWARE VALIDATION. Sami Evangelista Serge Haddad Jean-François Pradat-Peyre

for System Modeling, Analysis, and Optimization

A Brief Introduction to Model Checking

Stéphane Lafortune. August 2006

A Layered Approach to Automatic Construction of Large Scale Petri Nets. Ingrid Chieh Yu. Modelling Railway Systems. Cand. Scient.

5 Set Operations, Functions, and Counting

Timo Latvala. March 7, 2004

Alternating-Time Temporal Logic

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

3 Net Models of Distributed Systems and Workflows

arxiv: v1 [cs.dc] 3 Oct 2011

Modeling and Stability Analysis of a Communication Network System

Finite Automata. Dr. Neil T. Dantam. Fall CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Finite Automata Fall / 35

Causal Dataflow Analysis for Concurrent Programs

Lecture 2 Automata Theory

A Polynomial-Time Algorithm for Checking Consistency of Free-Choice Signal Transition Graphs

Register machines L2 18

Coloured Petri Nets Based Diagnosis on Causal Models

Improper Nesting Example

A Canonical Contraction for Safe Petri Nets

Correctness of Concurrent Programs

On the modularity in Petri Nets of Active Resources

Parameterized Reachability Trees for Algebraic Petri Nets

2.1 general items of cellular automata (1)definition of cellular automata. Cellular automata

Distributed Deadlock-Avoidance. IMDEA Software Institute, Spain

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Soundness of Workflow Nets with an Unbounded Resource is Decidable

Petri Nets. 1. Overview and Foundations. Y Narahari

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

UNIVERSITÀ CA FOSCARI DI VENEZIA Dipartimento di Informatica Technical Report Series in Computer Science. Rapporto di Ricerca CS

Negotiation Games. Javier Esparza and Philipp Hoffmann. Fakultät für Informatik, Technische Universität München, Germany

Theoretical Computer Science

Deadlock. CSE 2431: Introduction to Operating Systems Reading: Chap. 7, [OSC]

Collective resource bounded reasoning in concurrent multi-agent systems

Binary Decision Diagrams

On Randomization versus Synchronization in Distributed Systems

Algorithmic verification

Elementary Siphons of Petri Nets and Deadlock Control in FMS

Models of Concurrency

Probabilistic Methods in Concurrency. Lecture 4

MODELING AND SIMULATION BY HYBRID PETRI NETS. systems, communication systems, etc). Continuous Petri nets (in which the markings are real

Lecture Notes on Inductive Definitions

Modal and Temporal Logics

Lecture 16: Computation Tree Logic (CTL)

arxiv: v3 [cs.lo] 8 Mar 2019

The Turing Machine. CSE 211 (Theory of Computation) The Turing Machine continued. Turing Machines

Concurrent Processes and Reaction

Transcription:

Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 08 - Petri nets basics 1

Object Formalization of the basic concepts of Petri nets Free Choice Nets (book, optional reading) https://www7.in.tum.de/~esparza/bookfc.html 2

Petri nets: basic definitions 3

Carl Adam Petri July 12, 1926 - July 2, 2010 http://www.informatik.uni-hamburg.de/tgi/mitarbeiter/profs/petri_eng.html Introduced in 1962 (Petri s PhD thesis) 60 s and 70 s main focus on theory 80 s focus on tools and applications Now applied in several fields Success due to simple and clean graphical and conceptual representation 4

Petri nets for us Formal and abstract business process specification Formal: the semantics of process instances becomes well defined and not ambiguous Abstract: execution environment is disregarded (Remind about separation of concerns) 5

Places A place can stand for a state a medium a buffer a condition a repository of resources a type a memory location... 6

Transitions A transition can stand for an event an operation a transformation a transportation a task an activity... 7

Tokens A token can stand for a physical object a piece of data a resource an activation mark a message a document a case a value... 8

Marking A marking M : P! N denotes the number of tokens in each place The marking of a Petri net represents its state M(a) =0denotes the absence of tokens in place a 9

Notation: from sets Let S be a set. Let }(S) denote the set of sets over S. Elements A 2 }(S) (i.e., A S) are in bijective correspondence with functions f : S! {0, 1} x 2 A i f A (x) =1 10

Notation: to multisets Let µ(s) (or S ) denote the set of multisets over S. Elements B 2 µ(s) are in bijective correspondence with functions M : S! N M B (x) is the number of instances of x in B x 2 B i M B (x) > 0 11

Sets vs Multisets Set Multiset Order of elements does not matter Each element appears at most once Order of elements does not matter Each element can appear multiple times 12

Notation: sets Empty set: ; = {}is such that x 62 ; for all x 2 S Set inclusion: we write A B if x 2 A implies x 2 B Set strict inclusion: we write A B if A B and A 6= B Set union: A [ B is the set s.t. x 2 (A [ B) i x 2 A or x 2 B Set di erence: A B is the set s.t. x 2 (A B) i x 2 A and x 62 B 13

Notation: multisets Empty multiset: ; is such that ;(x) =0for all x 2 S Multiset containment: we write M M 0 if M(x) apple M 0 (x) for all x 2 S Multiset strict containment: we write M M 0 if M M 0 and M 6= M 0 Multiset union: M + M 0 is the multiset s.t. (M + M 0 )(x) =M(x)+M 0 (x) for all x 2 S Multiset di erence (defined only if M M 0 ): M M 0 is the multiset s.t. (M M 0 )(x) =M(x) M 0 (x) for all x 2 S 14

Operations on Multisets + = - undefined 15

Notation: multisets Multiset M = { k 1 x 1,k 2 x 2,...,k n x n } as formal sum: k 1 x 1 + k 2 x 2 +... + k n x n nx i=1 k i x i 16

Question time 3a +2b? 2a +3b + c 3a +2b? 2a +3b + c a +2b? 2a +3b (a +2b)+(2a + c) =? (2a +3b) (2a + b) =? (2a +2b) (a + c) =? 17

Petri nets A Petri net is a tuple (P, T, F, M 0 ) where P is a finite set of places; T is a finite set of transitions; F (P T ) [ (T P ) is a flow relation; M 0 : P! N is the initial marking. (i.e. M 0 2 µ(p )) 19

Pre-set and post-set Aplacepisan input place for transition t i (p, t) 2 F We let t denote the set of input places of t. (pre-set of t) Aplacepisan output place for transition t i (t, p) 2 F We let t denote the set of output places of t. (post-set of t) 20

Example: pre and post q 0 q 2 t t = { q 0,q 2 } t = { q 0 } 21

Pre-set and post-set Analogously, we let p denote the set of transitions that share p as output place p denote the set of transitions that share p as input place Formally: x = { y (y, x) 2 F } x = { y (x, y) 2 F } 22

Exercises P = {p 1,p 2,p 3,p 4,p 5,p 6,p 7 } T = {t 1,t 2,t 3,t 4,t 5 } F = {(p 1,t 1 ), (t 1,p 2 ),...?} M 0 =2p 3 +...? t 1 =? t 1 =? t 2 =? t 2 =? t 3 =? t 3 =? t 4 =? t 4 =? t 5 =? t 5 =? 23 p 1 =? p 2 =? p 3 =? p 4 =? p 5 =? p 6 =? p 7 =? p 1 =? p 2 =? p 3 =? p 4 =? p 5 =? p 6 =? p 7 =?

Petri nets: enabling and firing 24

Enabling M[t> (a set can be seen as a multiset whose elements have multiplicity 1) A transition t is enabled at marking M i t M and we write M! t (also M [ti) A transition is enabled if each of its input places contains at least one token 25

Firing M[t>M! i A transition t that is enabled at M can fire. The firing of t at M changes the state to M 0 = M t + t and we write M t! M 0 (also M [ti M 0 ) When a transition fires it consumes a token from each input place it produces a token into each output place 26

Some remarks Firing is an atomic action Our semantics is interleaving: multiple transitions may be enabled, but only one fires at a time The network is static, but the overall number of tokens may vary over time (if transitions are fired for which the number of input places is not equal to the number of output places) 27

Question time M 0 = p 1 + p 2 + p 3 + p 5 + p 6 Which of the following holds true? t M 1 0! t M 2 0! t M 3 0! t M 7 0! 28

Question time M 0 = p 1 + p 2 + p 3 + p 5 + p 6 Which of the following holds true? M 0 t 1! p 3 + p 4 + p 5 + p 6 M 0 t 2! p 1 + p 4 + p 6 M 0 t 4! 2p 1 +2p 2 +2p 3 + p 5 30

http://woped.dhbw-karlsruhe.de/woped/ WoPeD (3.5.1)

Notation We write M! if M! t for some transition t We write M! M 0 if M! t M 0 for some transition t t We write M 6! if transition t is not enabled at M We write M 6! if no transition is enabled at M 33

Example M 0 = p 1 + p 2 + p 3 + p 5 + p 6 We can write that M 0! M 0! p 1 + p 4 + p 6 (by firing t2) M 0 6 t 7! p 1 + p 5 6! 34

Firing sequence Let = t 1 t 2...t n 1 2 T be a sequence of transitions. We write M! M 0 (and M!) if: there is a sequence of markings M 1,...,M n with M = M 1 and M 0 = M n and M i t i! M i+1 for 1 apple i<n (i.e. M = M 1 t 1! M 2 t 2!... t n 1! M n = M 0 ) 35

Reachable markings [M> We write M! M 0 if M! M 0 for some 2 T A marking M 0 is reachable from M if M! M 0 Note that M! M for the empty sequence The set of markings reachable from M is often denoted: reach(m) or also [Mi 36

Question time M 0 = p 1 + p 2 + p 3 + p 5 + p 6 Which of the following holds true? t M 1 t 4 t 2 t 3 0! t M 2 t 7 t 4 0! t M 1 t 2 t 7 0! t M 1 t 4 t 2 t 1 0! 37

Example M 0 = p 1 + p 2 + p 3 + p 5 + p 6 We have that M 0 t 1 t 4 t 2 t 3! p 4 + p 5 + p 6 M 0 t 2 t 7 t 4! 2p 1 +2p 2 + p 3 + p 6 M 0 t 1 t 4 t 3 t 2 t 7! p 2 + p 5 +2p 6 39

Infinite sequence Let = t 1 t 2... 2 T! be an infinite sequence of transitions. We write M! if: there is an infinite sequence of markings M 1,M 2,... with M = M 1 and M i t i! M i+1 for 1 apple i (i.e. M = M 1 t 1! M 2 t 2!...) 40

Example M 0 = p 1 + p 2 + p 3 + p 5 + p 6 We have that M 0 t 1 t 4 t 1 t 4 t 1 t 4! M 0 t 1 t 4 t 7 t 1 t 4 t 7 t 1 t 4 t 7! 41

Enabled sequence We say that an occurrence sequence is enabled if M! ( can be finite or infinite) Note that an infinite sequence can be represented as amap : N! T,where (i) =t i 42

More on sequences: concatenation & prefix Concatenation: for 1 = a 1...a n and 2 = b 1...b m, we let 1 2 = a 1...a n b 1...b m for 1 = a 1...a n and 2 = b 1 b 2..., we let 1 2 = a 1...a n b 1 b 2... is a prefix of if = or is a proper prefix of if = for some = for some finite + finite = finite finite + infinite = infinite = = 43

Enabledness Proposition: M! i M 0! for every prefix 0 of ()) immediate from definition (() trivialif is finite ( itself is a prefix of ) When is infinite: taken any i 2 N we need to prove that t i = (i) is enabled after the firing of the prefix 0 = t 1 t 2...t i 1 of. But this is obvious, because M t! 1 t M 2 1!... t i 1 t! M i i 1! M i is also a finite prefix of and therefore M i 1 t i! 44

More on sequences: projection Restriction: (also extraction / projection) given T T we inductively define T as: T = (t ) T = t( T ) if t T T if t T 45

Example (t 1 t 4 t 7 t 1 t 4 t 7 ) {t1,t 4 } = t 1 (t 4 t 7 t 1 t 4 t 7 ) {t1,t 4 } = t 1 t 4 (t 7 t 1 t 4 t 7 ) {t1,t 4 } = t 1 t 4 (t 1 t 4 t 7 ) {t1,t 4 } = t 1 t 4 t 1 (t 4 t 7 ) {t1,t 4 } = t 1 t 4 t 1 t 4 (t 7 ) {t1,t 4 } = t 1 t 4 t 1 t 4 (t 7 ) {t1,t 4 } = t 1 t 4 t 1 t 4 ( ) {t1,t 4 } = t 1 t 4 t 1 t 4 = t 1 t 4 t 1 t 4 46

Exercises t2 t3 p1 p2 p3 t1 t4 Determine the pre- and post-set of each element Which are the currently enabled transitions? For each of them, which state would the firing lead to? What are the reachable states? 47

Exercises Which are the currently enabled transitions? For each of them, which state would the firing lead to? What are the reachable states? 48

Petri nets: occurrence graph 49

Occurrence graph (aka Reachability graph) The reachability graph is a graph that represents all possible occurrence sequences of a net Nodes of the graphs = reachable markings Arcs of the graphs = firings Formally, OG(N) =([M 0 i,a) where A [M 0 i T [M 0 i s.t. (M,t,M 0 ) 2 A i M t! M 0 50

How to compute OG(N) 1. Initially R = { M 0 } and A = 51

How to compute OG(N) 1. Initially R = { M 0 } and A = 2. Take a marking M R and a transition t T such that 1. M enables t and there is no arc labelled t leaving from M 52

How to compute OG(N) 1. Initially R = { M 0 } and A = 2. Take a marking M R and a transition t T such that 1. M enables t and there is no arc labelled t leaving from M 3. Let M' = M - t + t 53

How to compute OG(N) 1. Initially R = { M 0 } and A = 2. Take a marking M R and a transition t T such that 1. M enables t and there is no arc labelled t leaving from M 3. Let M' = M - t + t 4. Add M' to R and (M,t,M') to A 54

How to compute OG(N) 1. Initially R = { M 0 } and A = 2. Take a marking M R and a transition t T such that 1. M enables t and there is no arc labelled t leaving from M 3. Let M' = M - t + t 4. Add M' to R and (M,t,M') to A 5. Repeat steps 2,3,4 until no new arc can be added 55

How to compute OG(N) The occurrence graph can be constructed as follows: 1. Nodes = {}, Arcs = {}, Todo = {M 0 } 2. M = next(todo) 3. Nodes = Nodes [ {M}, Todo = Todo \{M} 4. Firings = {(M,t,M 0 ) 9t 2 T,9M 0 2 µ(p ), M! t M 0 } 5. New = {M 0 (M,t,M 0 ) 2 Firings}\(Nodes [ Todo) 6. Todo = Todo [ New, Arcs = Arcs [ Firings 7. isempty(todo)? stop : goto 2 56

Example: traffic light red 57

Example: traffic light red go-green green 58

Example: traffic light red go-green green yellow go-yellow 59

Example: traffic light red go-green go-red green yellow go-yellow 60

Example: two traffic lights red + red 61

Example: two traffic lights red + red (we omit arc labels for readability issues) 62

Example: two traffic lights red + red red + green green + red (we omit arc labels for readability issues) 63

Example: two traffic lights red + red red + green yellow + red green + red green + green (we omit arc labels for readability issues) 64

Example: two traffic lights red + red red + green yellow + red yellow + green green + red green + green (we omit arc labels for readability issues) 65

Example: two traffic lights red + red red + green red + yellow yellow + green yellow + red green + green green + red (we omit arc labels for readability issues) 66

Example: two traffic lights red + red red + green red + yellow yellow + green yellow + red green + green green + red (we omit arc labels for readability issues) green + yellow 67

Example: two traffic lights red + red red + green red + yellow yellow + green yellow + red yellow + yellow green + green green + red (we omit arc labels for readability issues) green + yellow 68

Example: two traffic lights red + red red + green red + yellow yellow + green yellow + red yellow + yellow green + green green + red (we omit arc labels for readability issues) green + yellow 69

Example: two traffic lights red + red red + green red + yellow yellow + green yellow + red yellow + yellow green + green green + red (we omit arc labels for readability issues) green + yellow 70

Example: two traffic lights red + red red + green red + yellow yellow + green yellow + red yellow + yellow green + green green + red (we omit arc labels for readability issues) green + yellow 71

Example: two traffic lights 2 red 72

Example: two traffic lights 2 red green + red 73

Example: two traffic lights 2 red yellow + red 2 green green + red 74

Example: two traffic lights 2 red yellow + red 2 green green + red green + yellow 75

Example: two traffic lights 2 red yellow + red 2 green green + red green + yellow 76

Example: two traffic lights 2 red yellow + red 2 yellow 2 green green + red green + yellow 77

Example: two traffic lights 2 red yellow + red 2 yellow 2 green green + red green + yellow 78

Example: two traffic lights 2 red yellow + red 2 yellow 2 green green + red green + yellow 79

Question time Complete the net in such a way that the two lights can never be green at the same time 80

Exercises Draw the reachability graph of the last net Modify the net so to guarantee that green alternate on the two traffic lights and then draw the reachability graph Play the token games on the above nets On the web (Petri net applet): http://wwwis.win.tue.nl/~wvdaalst/workflowcourse/pn_applet/pn_applet.htm On your PC (Workflow Petri net Designer): http://www.woped.org 82

Exercise: German traffic lights German traffic lights have an extra phase: traffic lights turn not suddenly from red to green but give a red light together with a yellow light before turning to green. Identify the possible states and model the transition system that lists all possible states and state transitions. Provide a Petri net that is able to behave exactly like a German traffic light. There should be three places indicating the state of each light and make sure that the Petri net does not allow state transitions which should not be possible. 83

Exercise: Producer and consumer Model a process with one producer and one consumer: Each one is either busy or free. Each one alternates between these two states After every production cycle the producer puts a product in a buffer and the consumer consumes one product from this buffer (when available) per cycle. Draw the reachability graph How to model 4 producers and 3 consumers connected through a single buffer? How to limit the size of the buffer to 2 items? 84

Exercise: Dining philosophers The problem is originally due to E.W. Dijkstra (and soon elaborated by T. Hoare) as an examination question on a synchronization problem where five computers competed for access to five shared tape drive peripherals. It can be used to illustrate several important concepts in concurrency (mutual exclusion, deadlock, starvation) 85

Exercise: Dining philosophers The life of a philosopher consists of an alternation of thinking and eating Five philosophers are living in a house where the table laid for them, each philosopher having his own place at the table Their only problem (besides those of philosophy) is that the dish served is a very difficult kind of spaghetti, that has to be eaten with two forks. There are two forks next to each plate, so that presents no difficulty: as a consequence, however, no two neighbours may be eating simultaneously. 86

Exercise: Dining philosophers Design a net for representing the dining philosophers problem, then use WoPeD to compute the reachability graph image taken from wikipedia philosophers clockwise from top: Plato, Konfuzius, Socrates, Voltaire and Descartes 87

Exercise Use a Petri net to model a circular railway system with four stations (st1, st2, st3, st4) and one train At each station passengers may "hop on" or "hop off" (this is impossible when the train is moving) The train has a capacity of 50 persons (if the train is full no passenger can hop on, if the train is empty no passenger can hop off) What is the number of reachable states? 88