wendy: a tool to synthesize partners for services

16
Wendy: a tool to synthesize partners for services Niels Lohmann and Daniela Weinberg

Upload: universitaet-rostock

Post on 22-Apr-2015

1.056 views

Category:

Documents


2 download

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).

TRANSCRIPT

Page 1: Wendy: a tool to synthesize partners for services

Wendy:a tool to synthesize partners for services

Niels Lohmann and Daniela Weinberg

Page 2: Wendy: a tool to synthesize partners for services

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

Page 3: Wendy: a tool to synthesize partners for services

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

Page 4: Wendy: a tool to synthesize partners for services

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

Page 5: Wendy: a tool to synthesize partners for services

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

Page 6: Wendy: a tool to synthesize partners for services

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

Page 7: Wendy: a tool to synthesize partners for services

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)

Page 8: Wendy: a tool to synthesize partners for services

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

Page 9: Wendy: a tool to synthesize partners for services

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.

Page 10: Wendy: a tool to synthesize partners for services

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)

Page 11: Wendy: a tool to synthesize partners for services

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*

Page 12: Wendy: a tool to synthesize partners for services

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

Page 13: Wendy: a tool to synthesize partners for services

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

Page 14: Wendy: a tool to synthesize partners for services

Wendy: a tool to synthesize partners for services24.06.10 14

Integration

• ProM 6• YAWL Editor• Oryx• service-technology.org/live• your tool!

Page 15: Wendy: a tool to synthesize partners for services

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

Page 16: Wendy: a tool to synthesize partners for services

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]