Conference presentation given by Niels Lohmann on September 2, 2008 in Milan, Italy at the Sixth International Conference on Business Process Management (BPM 2008).
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Correcting Deadlocking Service Choreographies Using a Simulation-Based Graph Edit Distance
1. Correcting Choreographiesusing Graph Similarities Niels Lohmann BPM 2008 ▪ Milan ▪ 2 September 2008 http://service-technology.org/bpm2008 UNIVERSITÄT ROSTOCK
2. 2 a deadlock in a choreography How can weavoid this? What wentwrong? Who is toblame? http://thisboyissmooth.wordpress.com/2008/02/12/sistemas-operativos-e-deadlocks/
3. State-of-the-art choreography analysis 3 translate BPEL choreography into formal model check for deadlocks if deadlock found: choose a "scapegoat" participant remove it from the choreography synthesize a corrected version (if possible) retranslate synthesized participant back to BPEL Full tool support available! [WS-FM2007]
4. Problem with that approach 4 the synthesized service is built independently from the scapegoat gives no information what was changed is correct, yet might not cover the original intention
8. Setting 8 given: a service (the scapegoat) a set ofcandidates find: the candidate that is most similar to the scapegoat …without sequentially checking all candidates
9. Operating Guidelines in a Nutshell 9 automaton annotated with Boolean formulae characterizes all partners of a service [ATPN2007] partner iffsimulated by OG + fulfilling the annotations
10. OG characterizes all possible corrections 10 and 2001 additional candidates ✓ ✗ ✓
11. Setting (refined) 11 given: a service automaton (the scapegoat) an operating guideline characterizing allcandidates find: the candidate that is most similar to the scapegoat …without sequentially checking all candidates
12. Graph edit distance a measure to compare graphs: edit distance= no. of needed actions to achieve graph isomorphism maybe associated with a cost function b a modify b to a a d 0,5 a d add c branch e c d c d e 0,7 delete e branch e 0,3 12
14. Simulation-based graph similarity Idea: find a similarity that respects simulation compare two states and find best transitionsw.r.t. successor states [TACAS2006] a a b c c b d d d 14
15. Simulation-based graph similarity Mismatches are treated with stuttering steps penalize stuttering by label similarity function choose best pairs by maximizing label similarity a a b c c b e d ε f 15
16. Simulation-based edit distance label similarity function defines an edit distance (a,a) ➙keep a (e,d) ➙change e to d (ε,x) ➙insert x (f,ε) ➙delete f values can be derived from semantic Webinformation (!€,!$) or (?receipt,?confirmation) rather high (!login,?invoice) rather low a a b c b c e d ε f 16
17. Simulation and OG matching 17 Simulation is only one part of the OG matching next step: make edit distance aware of formulas ✗
18. Respect formulas 18 instead of comparison with the OG's structure… compare with satisfying assignments of the formula worst-case complexity: O(|QSA|⋅|QOG|⋅2|I|⋅|I|!) assignments edge permutations
19. Experimental results 19 Simulation- and matching-based edit distance implemented in tool RAChEL Dynamic programming exploits structure of the problem Most results within few seconds Exceptions have near-worst-case structure/formulas Repairing Automata forChoreographies by Editing Labels
20. 20 edit actions can be mapped back to original service result can be influenced by adjusting label similarities Fixing the example with Rachel
21. 21 choreographies can be fixed using the edit distance can help to only change little partsof the scapegoat prototype shows that fixing of real-life processesworks(tool + slides at http://service-technology.org/bpm2008) Open questions: Which service to fix? What about cyclic or nondeterministic services? How does the mapping backto BPEL really work? Can we support more elaborate edit actions? Can heuristics help to improve performance? Take home points Thank you! Any questions?
22. 22 [TACAS2006] Oleg Sokolsky, SampathKannan, and Insup Lee. Simulation-based graph similarity. In TACAS 2006, volume 3920 of LNCS, pages 426–440. Springer, 2006. [WS-FM2007] Niels Lohmann, Oliver Kopp, Frank Leymann, and Wolfgang Reisig. Analyzing BPEL4Chor: Verification and participant synthesis. In WS-FM 2007, volume 4937 of LNCS, pages 46–60. Springer, 2008. [ATPN2007] Niels Lohmann, Peter Massuthe, and Karsten Wolf. Operating guidelines for finite-state services. In ICATPN 2007, volume 4546 of LNCS, pages 321-341. Springer, 2007. References