Upload
universitaet-rostock
View
1.053
Download
2
Embed Size (px)
DESCRIPTION
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).
Citation preview
Wendy:a tool to synthesize partners for services
Niels Lohmann and Daniela Weinberg
Wendy: a tool to synthesize partners for services24.06.10 2
Correctness of services
• correctness notions like soundness only applicable to internal behavior
• need to consider communication via interface
• service is correct iff there exists a partner service such that composition is compatible
• compatible = deadlock/livelock free
• aka “controllability”
service
interface
partnerservice
interface
Wendy: a tool to synthesize partners for services24.06.10 3
Controllability
• synthesized partner can be usedin many scenarios– documentation– communication proxy– choreography completion– service validation– adapter generation– process configuration– runtime migration– …
• Wendy automatically synthesizes such partners!
service
interface
partnerservice
interface
Wendy: a tool to synthesize partners for services24.06.10 4
Formal model
• open net = Petri net+ interface+ final markings
• asynchronous + synchronous communication
• final markings modeldesired end states
offer
reject
accept
invoice
p1
p2
p3 p4
p5
Wendy: a tool to synthesize partners for services24.06.10 5
Formal model
• composition = place fusion / transition fusion
offer
reject
accept
invoice
p1
p2
p3 p4
p5
offer
reject
accept
invoice
q1
q2
q3 q4
q5
Wendy: a tool to synthesize partners for services24.06.10 6
Formal model
• compatibility = deadlock/livelock freedom + k-bounded interface
p1
p2
p3 p4
p5
q1
q2
q3 q4
q5
offer
reject
accept
invoice
Wendy: a tool to synthesize partners for services24.06.10 7
Wendy
Wendyservice(open net)
LoLA-like formatPNML dialect
partner(automaton)
LoLA-like format
Petrify/Genetpartner(open net)
Wendy: a tool to synthesize partners for services24.06.10 8
Basic algorithm
1. overapproximation:– serve the interface (send,
receive, synchronize)– observe net’s behavior
2. removal of bad nodes:– remove nodes with deadlocks– remove nodes with unreachable
final marking– remove nodes with message
bound violations
offer
reject
accept
invoice
p1
p2
p3 p4
p5
Wendy: a tool to synthesize partners for services24.06.10 9
Basic algorithm
offer
reject
accept
invoice
p1
p2
p3 p4
p5
[p1]
[p2][p3, reject][p1, reject][p4, accept]
[p4]
[p4, invoice][p5]
[p1, invoice]
[p2, invoice][p3, reject, invoice]
[p1, invoice][p4, accept, invoice]
!invoice
#offer #offer
!invoice
?accept?accept
• observation: we store many small state spaces
?reject?reject
!inv.
Wendy: a tool to synthesize partners for services24.06.10 10
Experimental results
1
10
100
1000
10000
100000
1000000
10000000
1 10 100 1000 10000 100000 1000000 10000000
node
s of s
ynthe
sized
partn
er
reachable markings of analyzed open net
Asynchronous Sequence(academic)
Choreographies(academic)
Philosophers(academic)
BPEL Processes (industrial)
Wendy: a tool to synthesize partners for services24.06.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*
Wendy: a tool to synthesize partners for services24.06.10 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
?y #z
!b
!c!d
?x!d!c?x
!c!d
?x!c
?x !d
?y ?x #z
?x
?y
!b
?x
?x
?y
!b !c!d
?x !c !d
?y ?x #z
?x
?y
!b
?x
?y ?x
Wendy: a tool to synthesize partners for services24.06.10 13
Operating guidelines
• finite characterization of all partners
• most-permissive partner+ Boolean formula
• more applications:– test case generation– choreography correction– service substitutability– public view generation– service brokerage (SOA)– …
?x
?y !?z
!b
!c!d
?x!d
!c?x!c!d
?x !c ?x !d
?y ?x !?z
c ∨ d ∨ x
b ∨ c ∨ d c ∨ x d ∨ x
x ∨ y c x ∨ z d
xy z
final
Wendy: a tool to synthesize partners for services24.06.10 14
Integration
• ProM 6• YAWL Editor• Oryx• service-technology.org/live• your tool!
Wendy: a tool to synthesize partners for services24.06.10 15
Try Wendy!
• Download: http://service-‐technology.org/wendy
• Online version: http://service-‐technology.org/live/wendy• Questions: wendy@service-‐technology.org
Wendy: a tool to synthesize partners for services24.06.10 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 LohmannUniversität [email protected]