Conference presentation given by Niels Lohmann on June 21, 2010 in Braga, Portugal at the 31st International Conference on Petri Nets and Other Models of Concurrency (PETRI NETS 2010).
1. Wendy:
a tool to synthesize partners for services
Niels Lohmann and Daniela Weinberg
2. Correctness of services
• correctness notions like soundness
only applicable to internal behavior
• need to consider communication via
interface
interface
interface partner service
service
• service is correct iff there exists a
partner service such that
composition is compatible
• compatible = deadlock/livelock free
• aka “controllability”
24.06.10 Wendy: a tool to synthesize partners for services 2
3. Controllability
• synthesized partner can be used
in many scenarios
– documentation
– communication proxy
interface
interface
– choreography completion partner service
– service validation service
– adapter generation
– process configuration
– runtime migration
–…
• Wendy automatically synthesizes such partners!
24.06.10 Wendy: a tool to synthesize partners for services 3
4. Formal model
p1
• open net = Petri net offer
+ interface
+ final markings p2 reject
• asynchronous + synchronous accept
communication
p3 p4
• final markings model
invoice
desired end states
p5
24.06.10 Wendy: a tool to synthesize partners for services 4
5. Formal model
p1 q1
offer offer
p2 reject reject q2
accept accept
p3 p4 q3 q4
invoice invoice
p5 q5
• composition = place fusion / transition fusion
24.06.10 Wendy: a tool to synthesize partners for services 5
6. Formal model
p1 q1
offer
p2 q2
reject
accept
p3 p4 q3 q4
invoice
p5 q5
• compatibility = deadlock/livelock freedom + k-bounded interface
24.06.10 Wendy: a tool to synthesize partners for services 6
7. Wendy
service partner
(open net)
Wendy (automaton)
LoLA-like format LoLA-like format
PNML dialect
Petrify/Genet
partner
(open net)
24.06.10 Wendy: a tool to synthesize partners for services 7
8. Basic algorithm
p1
1. overapproximation:
offer – serve the interface (send,
receive, synchronize)
p2 reject – observe net’s behavior
accept
2. removal of bad nodes:
p3 p4
– remove nodes with deadlocks
– remove nodes with unreachable
invoice final marking
– remove nodes with message
p5 bound violations
24.06.10 Wendy: a tool to synthesize partners for services 8
9. Basic algorithm
p1
!invoice
[p1] [p1, invoice]
offer ?reject #offer ?reject #offer
[p2] [p2, invoice]
p2 reject !inv.
[p3, reject] [p3, reject, invoice]
[p1, reject] [p1, invoice]
accept [p4, accept] [p4, accept, invoice]
?accept
p3 p4 [p4] ?accept
!invoice
invoice
[p4, invoice]
[p5]
p5
• observation: we store many small state spaces
24.06.10 Wendy: a tool to synthesize partners for services 9
10. Experimental results
10000000
Asynchronous Sequence
1000000 (academic)
100000
nodes of synthesized partner
Philosophers
(academic)
10000
BPEL Processes (industrial)
1000
100
10 Choreographies
(academic)
1
1 10 100 1000 10000 100000 1000000 10000000
24.06.10 reachable markings of analyzed open net
Wendy: a tool to synthesize partners for services 10
11. Improvements
• observation: we generate markings of the net again and again
• idea: generate complete state space of net once and for all
• advantage: compact storage + early detection of “bad” situations
• “powered by LoLA”
• furthermore
– exploiting regularities
– more compact data structures
– reimplementing “standard data types”
• compared to earlier implementation Fiona:
– 5 to 70 times faster*
– 2 to 50 times less memory consumption*
24.06.10 Wendy: a tool to synthesize partners for services 11
12. Reduction Rules
• most-permissiveness is not always desired/necessary
• reduction rules create smaller partners
– no “sending in advance”
– receive messages in single order
– send whenever possible
– only send if required (prefer receiving)
?x !d !c ?x ?x ?x
!b !d !c !c !d ?x !b !d !c !b !b
?x
?x ?y #z ?x !d ?x ?y !c !d ?x ?y ?y
!c
?y ?x #z ?y ?x #z ?y ?x ?x
24.06.10 Wendy: a tool to synthesize partners for services 12
13. Operating guidelines
• finite characterization of all partners
c∨d∨x
• most-permissive partner ?x !d !c
+ Boolean formula
b∨c∨d c∨x d∨x
?x !d
!b !d !c !c ?x
• more applications:
– test case generation x∨y c x∨z d
?y !?z ?x
– choreography correction ?x !c !d
– service substitutability y x z
– public view generation ?y ?x !?z
– service brokerage (SOA)
f inal
–…
24.06.10 Wendy: a tool to synthesize partners for services 13
14. Integration
• ProM 6
• YAWL Editor
• Oryx
• service-technology.org/live
• your tool!
24.06.10 Wendy: a tool to synthesize partners for services 14
15. Try Wendy!
• Download: http://service-‐technology.org/wendy
• Online version: http://service-‐technology.org/live/wendy
• Questions: wendy @ service-‐technology.org
24.06.10 Wendy: a tool to synthesize partners for services 15
16. Take home points
Wendy…
• synthesizes partners for services
• can be used in many scenarios
• performs well on (our) case studies
Next…
• extend correctness criteria
• elaborate stubborn set reduction for state space
(symbolic techniques?)
• improve reduction rules
Niels Lohmann
Universität Rostock
niels.lohmann@uni-rostock.de
24.06.10 Wendy: a tool to synthesize partners for services 16