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).
Workshop presentation given by Niels Lohmann on February 22, 2011 in Karlsruhe, Germany at the Third Central-European Workshop on Services and their Composition (ZEUS 2011).
Conference presentation given by Niels Lohmann on December 8, 2010 in San Francisco, CA, USA at the Eighth International Conference on Service-Oriented Computing (ICSOC 2010).
Tool demonstration given by Niels Lohmann on September 1, 2006 in Eindhoven, The Netherlands at the Berlin-Eindhoven Service Technology Colloquium 2006 (B.E.S.T. 2006).
From public views to private views - Correctness by design for servicesUniversität Rostock
Workshop presentation given by Niels Lohmann on September 28, 2009 in Brisbane, Australia at the 4th International Workshop on Web Services and Formal Methods (WS-FM 2007).
Verifying Deadlock and Livelock Freedom in an SOA ScenarioUniversität Rostock
Held by Karsten Wolf on July 3, 2009 on the 9th International Conference on Application of Concurrency to System Design (ACSD 2009) in Augsburg, Germany.
Workshop presentation given by Niels Lohmann on February 22, 2011 in Karlsruhe, Germany at the Third Central-European Workshop on Services and their Composition (ZEUS 2011).
Conference presentation given by Niels Lohmann on December 8, 2010 in San Francisco, CA, USA at the Eighth International Conference on Service-Oriented Computing (ICSOC 2010).
Tool demonstration given by Niels Lohmann on September 1, 2006 in Eindhoven, The Netherlands at the Berlin-Eindhoven Service Technology Colloquium 2006 (B.E.S.T. 2006).
From public views to private views - Correctness by design for servicesUniversität Rostock
Workshop presentation given by Niels Lohmann on September 28, 2009 in Brisbane, Australia at the 4th International Workshop on Web Services and Formal Methods (WS-FM 2007).
Verifying Deadlock and Livelock Freedom in an SOA ScenarioUniversität Rostock
Held by Karsten Wolf on July 3, 2009 on the 9th International Conference on Application of Concurrency to System Design (ACSD 2009) in Augsburg, Germany.
The goal of the tutorial is that participants understand the capabilities of LoLA and can assess the applicability of the tool in their context. They learn how to optimally exploit the available state space reduction techniques. They learn about several opportunities for linking LoLA to their problem domain.
Invited presentation given by Niels Lohmann on December 3, 2013 in Potsdam, Germany as invited lecture at the Business Process Compliance course at the Hasso-Plattner-Institute.
Workshop presentation given by Niels Lohmann on September 28, 2009 in Brisbane, Australia at the 4th International Workshop on Web Services and Formal Methods (WS-FM 2007).
The Petri Net API - A collection of Petri net-related functionsUniversität Rostock
Workshop presentation given by Niels Lohmann on October 7, 2010 in Cottbus, Germany at the 17th German Workshop on Algorithms and Tools for Petri Nets (AWPN 2010).
Presentation given by Niels Lohmann on September 27, 2010 in Eindhoven, The Netherlands; Overview talk given at the PhD defense ceremony at the Technische Universiteit Eindhoven.
Talk held by Karsten Wolf on June 27, 2007 on the 28th International Conference on Application and Theory of Petri Nets and Other Models of Concurrency (PETRI NETS 2007) in Siedlce, Poland.
Where did I go wrong? Explaining errors in process modelsUniversität Rostock
Workshop presentation given by Niels Lohmann on February 20, 2014 in Potsdam, Germany at the Sixth Central-European Workshop on Services and their Composition (ZEUS 2014).
Conference presentation given by Niels Lohmann on December 6, 2011 in Paphos, Cyprus at the Ninth International Conference on Service-Oriented Computing (ICSOC 2011).
Workshop presentation given by Niels Lohmann on December 5, 2011 in Paphos, Cyprus at the 6th International Workshop on Engineering Service-Oriented Applications (WESOA'11).
Compliance by Design for Artifact-Centric Business ProcessesUniversität Rostock
Conference presentation given by Niels Lohmann on September 1, 2011 in Clermont-Ferrand, Germany at the 9th International Conference on Business Process Management (BPM 2011).
The goal of the tutorial is that participants understand the capabilities of LoLA and can assess the applicability of the tool in their context. They learn how to optimally exploit the available state space reduction techniques. They learn about several opportunities for linking LoLA to their problem domain.
Invited presentation given by Niels Lohmann on December 3, 2013 in Potsdam, Germany as invited lecture at the Business Process Compliance course at the Hasso-Plattner-Institute.
Workshop presentation given by Niels Lohmann on September 28, 2009 in Brisbane, Australia at the 4th International Workshop on Web Services and Formal Methods (WS-FM 2007).
The Petri Net API - A collection of Petri net-related functionsUniversität Rostock
Workshop presentation given by Niels Lohmann on October 7, 2010 in Cottbus, Germany at the 17th German Workshop on Algorithms and Tools for Petri Nets (AWPN 2010).
Presentation given by Niels Lohmann on September 27, 2010 in Eindhoven, The Netherlands; Overview talk given at the PhD defense ceremony at the Technische Universiteit Eindhoven.
Talk held by Karsten Wolf on June 27, 2007 on the 28th International Conference on Application and Theory of Petri Nets and Other Models of Concurrency (PETRI NETS 2007) in Siedlce, Poland.
Where did I go wrong? Explaining errors in process modelsUniversität Rostock
Workshop presentation given by Niels Lohmann on February 20, 2014 in Potsdam, Germany at the Sixth Central-European Workshop on Services and their Composition (ZEUS 2014).
Conference presentation given by Niels Lohmann on December 6, 2011 in Paphos, Cyprus at the Ninth International Conference on Service-Oriented Computing (ICSOC 2011).
Workshop presentation given by Niels Lohmann on December 5, 2011 in Paphos, Cyprus at the 6th International Workshop on Engineering Service-Oriented Applications (WESOA'11).
Compliance by Design for Artifact-Centric Business ProcessesUniversität Rostock
Conference presentation given by Niels Lohmann on September 1, 2011 in Clermont-Ferrand, Germany at the 9th International Conference on Business Process Management (BPM 2011).
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Universität Rostock
Presentation given by Niels Lohmann on September 23, 2005 in Berlin, Germany; Talk given at the diploma defense ceremony at Humboldt-Universität zu Berlin.
service-technology.org — A tool family for correct business processes and ser...Universität Rostock
Tool demonstration given by Niels Lohmann on September 16, 2010 in Hoboken, NJ, USA at the Eighth International Conference on Business Process Management (BPM 2010).
Invited presentation given by Niels Lohmann on June 27, 2006 in Turku, Finland as part of the Advanced Tutorial on Petri Net Modelling of Business Processes; satellite event of the PETRI NETS 2006/ACSD 2006 conferences.
Workshop presentation given by Niels Lohmann on August 16, 2007 in Eindhoven, The Netherlands at the Berlin-Eindhoven Service Technology Colloquium 2007 (B.E.S.T. 2007).
Workshop presentation given by Niels Lohmann on January 28, 2007 in Dagstuhl, Germany at the Programming Paradigms for the Web: Web Programming & Web Services (Dagstuhl-Seminar 07051).
Tool demonstration given by Niels Lohmann on July 21, 2006 in Dagstuhl, Germany at the The Role of Business Processes in Service Oriented Architectures (Dagstuhl-Seminar 06291).
Analyzing Interacting BPEL Processes - An Overview of the Chair’s WorkUniversität Rostock
Workshop presentation given by Niels Lohmann on August 30, 2006 in Eindhoven, The Netherlands at the Berlin-Eindhoven Service Technology Colloquium 2006.
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