Fixing Choreographies using Graph Similarities
Niels Lohmann YR‐SOC 2008 ▪ London ▪ 12 June 2008 UNIVERSITÄT ROSTOCK http://service‐technology.org/yrsoc2008
FixingChoreographies usingGraphSimilarities NielsLohmann YRSOC2008 - - PowerPoint PPT Presentation
FixingChoreographies usingGraphSimilarities NielsLohmann YRSOC2008 London 12June2008 http://servicetechnology.org/yrsoc2008 UNIVERSITT ROSTOCK How can we avoid this? What went wrong ?
Fixing Choreographies using Graph Similarities
Niels Lohmann YR‐SOC 2008 ▪ London ▪ 12 June 2008 UNIVERSITÄT ROSTOCK http://service‐technology.org/yrsoc2008
Who is to blame? What went wrong? How can we avoid this?
http://thisboyissmooth.wordpress.com/2008/02/12/sistemas-operativos-e-deadlocks/State‐of‐the‐art choreography analysis
3Full tool support available! [WS‐FM2007]
Problem with that approach
4Example choreography
5 Airline send offer rejection send booking sendExample choreography
6 Airline send offer rejection send booking sendFix the customer service
7 send offer rejection send booking receive confirmation send payment send offer rejection send booking receive confirmation receive refusal send payment send offer rejection✗ ✓ ✓
better choice scapegoat
Setting
8Operating Guidelines in a Nutshell
9 ?offer !booking !payment !booking ?refusal ?confirmation !booking !payment !rejection !payment ?offer ?offer (?confirmation ?refusal) !booking ?offer ?offer ?refusal ?offer ?confirmation ?offer !payment !booking ?offer !payment ?offer !rejection ?offer !rejection ?offer !payment !booking !rejection !payment !booking ?confirmation ?refusal final !payment ?offer !bookingannotated with Boolean formulae
partners [ATPN2007]
annotations
OG characterizes all possible corrections
10 ?offer !booking !payment !booking ?refusal ?confirmation !booking !payment !rejection !payment ?offer ?offer (?confirmation ?refusal) !booking ?offer ?offer ?refusal ?offer ?confirmation ?offer !payment !booking ?offer !payment ?offer !rejection ?offer !rejection ?offer !payment !booking !rejection !payment !booking ?confirmation ?refusal final !payment ?offer !booking ?offer ?confirmation !booking !payment !rejection ?offer !rejection ?offer ?confirmation !booking !payment !rejection ?refusal✗ ✓ ✓
and 2001 additional candidates
Setting (refined)
11Graph edit distance
12= no. of needed actions to achieve graph isomorphism
b d e a c d a d e a d e c
modify b to a add c branch delete e branch0,5 0,7 0,3
Graph edit distance vs. behavior
13?b !a !c !a ?b !c ?b !a ?b !c !a low edit distance unsimilar behavior high edit distance equivalent behavior high edit distance unsimilar behavior
Simulation‐based graph similarity
14w.r.t. successor states [TACAS2006]
a b d c c b a d d
Simulation‐based graph similarity
15a b d c c b a e ε f
Simulation‐based graph similarity
16a b d c c b a e ε f
Simulation and OG matching
17✗
Respect formulas
18assignments edge permutations
Experimental results
19implemented in tool RACHEL
Fixing the example with Rachel
send offer rejection send booking receive confirmation receive refusal send paymentTake home points
See more
13
JUNSimulation‐based graph similarity. In TACAS 2006, volume 3920 of LNCS, pages 426–440. Springer, 2006.
Wolfgang Reisig. Analyzing BPEL4Chor: Verification and participant synthesis. In WS‐FM 2007, volume 4937 of LNCS, pages 46–60. Springer, 2008.
Operating guidelines for finite‐state services. In ICATPN 2007, volume 4546 of LNCS, pages 321‐341. Springer, 2007.
choreographies using a simulation‐based graph edit distance. In BPM 2008, LNCS, Springer, 2008. In Press.
References