FixingChoreographies usingGraphSimilarities NielsLohmann YRSOC2008 - - PowerPoint PPT Presentation

fixing choreographies using graph similarities
SMART_READER_LITE
LIVE PREVIEW

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 ?


slide-1
SLIDE 1

Fixing
Choreographies
 using
Graph
Similarities


Niels
Lohmann
 YR‐SOC
2008
▪
London
▪
12
June
2008
 UNIVERSITÄT ROSTOCK http://service‐technology.org/yrsoc2008

slide-2
SLIDE 2 2


Who is to blame? What went wrong? How can we avoid this?

http://thisboyissmooth.wordpress.com/2008/02/12/sistemas-operativos-e-deadlocks/
slide-3
SLIDE 3

State‐of‐the‐art
choreography
analysis



3

  • 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]


slide-4
SLIDE 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

slide-5
SLIDE 5

Example
choreography


5
 Airline send offer rejection send booking send
  • ffer
receive offer rejection receive confirmation send ticket order send confirmation receive booking Customer Travel Agency send refusal receive payment send payment

slide-6
SLIDE 6

Example
choreography


6
 Airline send offer rejection send booking send
  • ffer
receive offer rejection receive confirmation send ticket order send confirmation receive booking Customer Travel Agency send refusal receive payment send payment

slide-7
SLIDE 7

Fix
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


slide-8
SLIDE 8

Setting


8

  • given:

  • a
service
(the
scapegoat)

  • a
set
of
candidates

  • find:

  • the
candidate
that
is
most
similar
to
the
scapegoat

  • …without
sequentially
checking
all
candidates


slide-9
SLIDE 9

Operating
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 !booking
  • automaton


annotated
 with
Boolean
 formulae


  • characterizes
all


partners
[ATPN2007]


  • partner
iff

  • simulated
by
OG

  • fulfilling
the


annotations


  • many
applications
(service
discovery,
testing,
…)

Airline send
  • ffer
receive offer rejection send ticket order send confirmation receive booking Travel Agency send refusal receive payment
slide-10
SLIDE 10

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


slide-11
SLIDE 11

Setting
(refined)


11

  • 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


slide-12
SLIDE 12

Graph
edit
distance


12

  • a
measure
to
compare
graphs:
edit
distance


=
no.
of
needed
actions
to
achieve
graph
isomorphism


  • maybe
associated
with
a
cost
function


b
 d
 e
 a
 c
 d
 a
 d
 e
 a
 d
 e
 c


modify
b
to
a
 add
c
branch
 delete
e
branch


0,5 0,7 0,3

slide-13
SLIDE 13

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


slide-14
SLIDE 14

Simulation‐based
graph
similarity


14

  • Idea:
find
a
similarity
that
respects
simulation

  • compare
two
states
and
find
best
transitions


w.r.t.
successor
states

[TACAS2006]


a
 b
 d
 c
 c
 b
 a
 d
 d


slide-15
SLIDE 15

Simulation‐based
graph
similarity


15

  • Mismatches
are
treated
with
stuttering
steps

  • penalize
stuttering
by
label
similarity
function

  • choose
best
pairs
by
maximizing
label
similarity


a
 b
 d
 c
 c
 b
 a
 e
 ε
 f


slide-16
SLIDE 16

Simulation‐based
graph
similarity


16

  • 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
Web
information

  • (!€,!$)
or
(?receipt,?confirmation)
rather
high

  • (!login,?invoice)
rather
low


a
 b
 d
 c
 c
 b
a
 e
 ε
 f


slide-17
SLIDE 17

Simulation
and
OG
matching


17

  • Simulation
is
only
one
part
of
the
OG
matching

  • next
step:
make
edit
distance
aware
of
formulas

?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

slide-18
SLIDE 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|!)

(!a !b) ?c !a !d !b ?c !a !d !b ?c !a !b ?c !d !b ?c !b ?c !a !d ?c !a ?c

assignments
 edge
permutations


slide-19
SLIDE 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

service
 interface
 states
SA
 states
OG
 candidates
 time
(s)
 Running
Example
 6
 5
 11
 2003
 0
 Online
Shop
 7
 222
 153
 
102033
 4
 Supply
Order
 7
 7
 96
 
10733
 1
 Internal
Order
 9
 14
 512
 >
104932
 195
 Customer
Service
 9
 104
 59
 
10108
 3
 Car
Rental
 7
 49
 50
 
10144
 6
 Order
Process
 8
 27
 44
 
10222
 0
 Purchase
Order
 10
 137
 168
 >
104932
 391

slide-20
SLIDE 20 20

  • edit
actions
can
be
mapped
back
to
original
service

  • result
can
be
influenced
by
adjusting
label
similarities



Fixing
the
example
with
Rachel


send offer rejection send booking receive confirmation receive refusal send payment
slide-21
SLIDE 21 21

  • 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?



Take
home
points


slide-22
SLIDE 22 22

  • Tool
demo

  • "Tools4BPEL4Chor"
(Tomorrow
@
YR‐SOC)

  • 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,
…


See
more


13

JUN
slide-23
SLIDE 23 23

  • [TACAS2006]
Oleg
Sokolsky,
Sampath
Kannan,
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.


  • [BPM2008]
Niels
Lohmann.
Correcting
deadlocking
service


choreographies
using
a
simulation‐based
graph
edit
distance. 
In
BPM
2008,
LNCS,
Springer,
2008.
In
Press.


References