Workflow ManagementKap. 4. Analyzing Workflows
Wil van der Aalst has copyrights to almost all figures in the following slideshow made by Lars Frank.
Unbounded and never ending loop error:
A petri net is bounded when there is an upper limit for tokens.
A petri net is safe when the upper limit for tokens is onefor all places = Bounded by value one.
Soundness property proof:
If a transition is replaced by a sound workflow, then the resulting workflow is also sound.
Techniques to analyze workflows:
(About the structure of the workflow. For example soundness)
(About attribute values and management of the workflow)
Deadlock illustration where both Trans1 and Trans2 want to lock(låse) Object1 and Object2:
lås1
1
lås3
1
frigiv1
1
lås2
1
lås4
1
frigiv2
1
object1 object2
Trans 2
Trans 1 Trans 1
Trans 2
Trans 1
Trans 2
slut
slut
Fairness property:
The fairness property says that if a task potentially can be executed, then it will be executed sooner or later.Does the workflow have a logical error if task2 is a “marriage” that produce “families”?
Reachability graph with cycles:
(red1,green1,yellow1,safe,red2,green2,yellow2,safe)
Green
Both red
Yellow Yellow
Green
Some petri nets has Place invariants:
Place invariants = Constant calculated as the weightet sum of the tokens in each place.
Example:
man +woman + 2 * couple = 7
Performanceanalysis:
Computer simulation is the repeated execution of a process where choices are made upon various probability distributions.A Markov chain is a reachability graph with the probability of transition added to it.
Petri net Work flowfor global E-commerce transactions where the stocks are in the locations of the different suppliers.
1. Put products in the basket
Start
Timer
2. Confirm order-lines and update stocks in servers
4. Receive products from suppliers and update QUANTITY received
6. Send the rest of the products to the customer
End
3.Suppliers send products
Non confirmed order
Products
All products are received
5. Send the received products to the customer
Suborders
Canseled order
Stock rejected order
Confirmed order
OR split
Sub- Petri net of activity 2
2.1 try to confirm thenext order-line
Order-line
An-swer
Nonconfirmedorder
2.2 Supplier's servertry to confirm
order-line
More order-lines
2.3 Update Order with supplieranswer for each order-line
All answers received
Order-line
Order
Order
2.4 Send Order with confirmanswers to the Customer. If theOrder was confirmed The Timeris set and confirming Sub-ordersare send to the involvedsuppliers.
Timer Sub-orders
Confirmed Order
Stockrejectedorder
AND split
OR split
AND join