Skabelon til Slideshow for LF

advertisement
Workflow Management
Kap. 4. Analyzing Workflows
Wil van der Aalst has copyrights to almost all
figures in the following slideshow made by
Lars Frank.
“Soundness” analysis can prevent logical errors:
Soundness property:
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 one
for 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.
Examples of
Sound nets:
Example of
Sound proof:
Why is there no proof for the soundness property?
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:
slut
Trans 2
frigiv2
1
lås4
1
lås1
1
lås2
Trans 2
1
object2
object1
Trans 1
Trans 2
slut
lås3
Trans 1
1
frigiv1
Trans 1
1
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”?
Petri-net analysis:
Reachability graph without cycles:
Reachability graph with reachable states:
Reachability graph with cycles:
Yellow
Yellow
Both red
Green
Green
(red1,green1,yellow1,safe,red2,green2,yellow2,safe)
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
Performance
analysis:
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.
Prove the
soundness of
the coupled ecommerce
workflow?
Which ecommerc
e model
will you
recommend
in
practice?
End of session
Thank you !!!
Petri net
Work flow
for global
E-commerce
transactions
where the
stocks are in
the locations
of the
different
suppliers.
Start
Canseled order
1. Put products in the basket
Stock
rejected
order
Non
confirmed
order
2. Confirm order-lines and
update stocks in servers
Sub
orders
3.Suppliers send
products
Confirmed
order
Timer
OR split
5. Send the received
products to the
customer
En
Products
4. Receive products from
suppliers and update
QUANTITY received
All products
are received
6. Send the rest of the
products to the customer
SubPetri net of
activity 2
Non
confirmed
order
AND split
Order
-line
2.1 try to confirm the
next order-line
Order
-line
2.2 Supplier's server
try to confirm
order-line
More order-lines
Order
2.3 Update Order with supplier
answer for each order-line
OR split
AND join
All answers received
Order
Stock
rejected
order
2.4 Send Order with confirm
answers to the Customer. If the
Order was confirmed The Timer
is set and confirming Sub-orders
are send to the involved
suppliers.
Confirmed Order
Timer
Sub-orders
Answer
Exercise in quantitative analysis:
Download