fixing choreographies using graph similarities
play

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


Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend