fixing choreographies using graph similarities

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 ?


  1. Fixing
Choreographies
 using
Graph
Similarities
 Niels
Lohmann
 YR‐SOC
2008
 ▪ 
London
 ▪ 
12
June
2008
 http://service‐technology.org/yrsoc2008 UNIVERSITÄT ROSTOCK

  2. How can we avoid this? What went wrong ? Who is to blame ? 2
 http://thisboyissmooth.wordpress.com/2008/02/12/sistemas-operativos-e-deadlocks/

  3. State‐of‐the‐art
choreography
analysis

 1. translate
BPEL
choreography
into
formal
model
 2. check
for
deadlocks
 3. 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]
 3


  4. Problem
with
that
approach
 • the
synthesized
service
  is
built
 independently
 from
the
scapegoat
  gives
no
information
 what
 was
changed
  is
correct,
yet
might
not
cover
the
original
 intention
 4


  5. Example
choreography
 send offer Customer rejection send send receive booking payment confirmation Travel Agency receive receive send booking payment ticket order send offer receive offer rejection ✓ send confirmation Airline send refusal 5


  6. Example
choreography
 ✗ send offer Customer rejection send send receive booking payment confirmation Travel Agency receive receive send booking payment ticket order send offer receive offer rejection send confirmation Airline send refusal 6


  7. Fix
the
customer
service
 send offer ✗ rejection send send receive booking payment confirmation scapegoat
 ✓ send offer rejection send offer rejection ✓ send send receive booking payment confirmation receive better
choice
 refusal 7


  8. Setting
 • given:
  a
service
(the
 scapegoat )
  a
 set
 of 
candidates 
 • find:
  the
 candidate
 that
is
 most
similar 
to
the
 scapegoat
  …without
sequentially
checking
all
candidates
 
 8


  9. Operating
Guidelines
in
a
Nutshell
 !rejection � ?offer � !payment � !booking !rejection • automaton
 !booking ?offer !payment ?offer annotated
 !rejection � !payment � !booking ?offer � !booking ?offer � !payment ?offer !booking with
 Boolean
 !payment !payment !rejection !booking ?offer formulae
 ?offer � (?confirmation � ?refusal) !booking !payment ?offer !payment ?offer !booking ?refusal ?confirmation ?confirmation � ?refusal ?offer • characterizes
 all 
 ?confirmation ?refusal partners
[ATPN2007]
 ?offer final • partner
iff
 Travel Agency receive receive send booking payment ticket order  simulated
by
OG
 send offer receive offer rejection  fulfilling
the
 send confirmation annotations
 Airline send refusal • many
applications
(service
discovery,
testing,
…)
 9


  10. OG
characterizes
all
possible
corrections
 !rejection � ?offer � !payment � !booking !rejection !booking ?offer !payment ?offer !rejection � !payment � !booking ?offer � !booking ?offer � !payment ?offer !booking !payment !payment !rejection !booking ?offer ?offer � (?confirmation � ?refusal) !booking !payment ?offer !payment ?offer !booking ?refusal ?confirmation ?confirmation � ?refusal ?offer ?confirmation ?refusal ?offer final and
 2001
 additional
candidates
 ?offer ?offer !booking !booking ?offer !rejection !rejection ✓ !payment ✗ ✓ !payment !rejection ?confirmation ?confirmation 10
 ?refusal

  11. Setting
(refined)
 • given:
  a
service
automaton
(the
 scapegoat )
  an
 operating
guideline
 characterizing
all 
candidates 
 • find:
  the
 candidate
 that
is
 most
similar 
to
the
 scapegoat
  …without
sequentially
checking
all
candidates
 
 11


  12. Graph
edit
distance
 • a
measure
to
compare
graphs:
 edit
distance
 =
 no.
of
needed
actions
to
achieve
 graph
isomorphism
 b
 a
 a
 modify
 b
to
a
 a
 0,5 c
 d
 d
 d
 add
 c
branch
 d
 c
 0,7 e
 e
 e
 delete
 e
branch
 0,3 • maybe
associated
with
a
 cost
function
 12


  13. Graph
edit
distance
vs.
behavior
 !c
 !a
 ?b
 equivalent
behavior
  high
edit
distance
 low
edit
distance
 unsimilar
behavior
 !a
 ?b
 ?b
 !a
 !c
 ?b
 !c
 !a
 high
edit
distance
 unsimilar
behavior
 13


  14. Simulation‐based
graph
similarity
 • Idea:
find
a
similarity
that
respects
 simulation
 a
 a
 b
 c
 c
 b
 d
 d
 d
 • compare
two
states
and
find
best
transitions
 w.r.t.
successor
states

[TACAS2006]
 14


  15. Simulation‐based
graph
similarity
 • Mismatches
are
treated
with
 stuttering
steps
 a
 a
 b
 c
 c
 b
 e
 d
 ε
 f
 • penalize
stuttering
by
 label
similarity
function
 • choose
best
pairs
by
 maximizing
 label
similarity
 15


  16. Simulation‐based
graph
similarity
 • label
similarity
function
defines
an
 edit
distance
  (a,a) 
 ➙ 
 keep
 a 
 b
a
 a
  (e,d)
 ➙ 
 change
 e
to
d 
 c
 b
 c
  (ε,x) 
 ➙ 
 insert
 x 
 e
 d
 ε
  (f,ε) 
 ➙ 
 delete
 f
 f
 • values
can
be
derived
from
 semantic
Web
 information
  (!€,!$)
or
(?receipt,?confirmation)
rather
high
  (!login,?invoice)
rather
low
 16


  17. Simulation
and
OG
matching
 • Simulation
is
only
one
part
of
the
OG
matching
 !rejection � ?offer � !payment � !booking !rejection !booking ?offer !payment ?offer ?offer !rejection � !payment � !booking ?offer � !booking ?offer � !payment ?offer !booking !payment !payment !rejection !booking ?offer !booking ?offer � (?confirmation � ?refusal) !booking !payment ?offer !rejection !payment ?offer !booking ?refusal !payment ?confirmation ?confirmation � ?refusal ?offer ?confirmation ?refusal ?confirmation ?offer ✗ final • next
step:
make
edit
distance
 aware
of
formulas
 17


  18. Respect
formulas
 • instead
of
comparison
with
the
OG's
structure…
 • compare
with
 satisfying
assignments 
of
the
formula
 (!a � !b) � ?c !a !d !a !d !a !d !b ?c !b ?c !b ?c !b ?c !a !d !a ?c ?c !b ?c • worst‐case
complexity:
 O(|Q SA | ⋅ |Q OG | ⋅ 2 |I| ⋅ |I|!)
 assignments
 edge
permutations
 18


  19. Experimental
results
 • Simulation‐
and
matching‐based
edit
distance 
implemented
in
tool
 RAC H EL
 • Dynamic
programming 
exploits
structure
of
the
problem
 
 service
 interface
 states
SA
 states
OG
 candidates
 time
(s)
 Running
Example
 6
 5
 11
 2003 
 0
 Online
Shop
 7
 222
 153
 
10 2033
 4
 Supply
Order
 7
 7
 96
 
10 733
 1
 Internal
Order
 9
 14
 512
 >
10 4932
 195
 Customer
Service
 9
 104
 59
 
10 108
 3
 Car
Rental
 7
 49
 50
 
10 144
 6
 Order
Process
 8
 27
 44
 
10 222
 0
 Purchase
Order
 10
 137
 168
 >
10 4932
 391
 • Most
results
within
 few
seconds
 • Exceptions
have
near‐worst‐case
structure/formulas
 19


  20. Fixing
the
example
with
Rachel
 send offer rejection send send receive booking payment confirmation receive refusal • edit
actions
can
be
 mapped
back 
to
original
service
 • result
can
be
influenced
by
adjusting
label
similarities

 20


  21. Take
home
points
 • choreographies
can
be
 fixed
 using
the
edit
distance
 • can
help
to
 only
change
little
parts
 of
the
scapegoat
 • prototype
shows
that
fixing
of
 real‐life
processes
 works
 • Open
questions:
  Which
 service
to
fix?
  What
about
 cyclic
 or
 nondeterministic
 services?
  How
does
the
 mapping
back
 to
BPEL
really
work?
  Can
we
support
more
elaborate
edit
actions?
  Can
 heuristics
 help
to
improve
performance?

 21


  22. See
more
 • Tool
demo
 JUN  "Tools4BPEL4Chor"
(Tomorrow
@
YR‐SOC)
 13  tool
chain
(editor,
translation,
analysis…)
 • Web 
  http://service‐technology.org/yrsoc2008  slides,
tools,
examples,
links • Conference
paper 
  @
Business
Process
Management
(BPM
2008)
  full
definitions,
related
work,
…
 22


Recommend


More recommend