Analyzing Interacting BPEL Processes - An Overview of the Chair’s Work

Post on 22-Apr-2015

615 views 1 download

description

Workshop presentation given by Niels Lohmann on August 30, 2006 in Eindhoven, The Netherlands at the Berlin-Eindhoven Service Technology Colloquium 2006.

Transcript of Analyzing Interacting BPEL Processes - An Overview of the Chair’s Work

30.08.2006

Analyzing InteractingBPEL Processes

An Overview of the Chair’s Work

B!E!S!T Colloquium, Eindhoven

Niels Lohmann

nlohmann@informatik.hu-berlin.dehttp://www.informatik.hu-berlin.de/~nlohmann

B!E!S!T Colloquium

, Eindhoven

2

Analyzing Interacting BPEL Processes

B!E!S!T Colloquium

, Eindhoven

2

Analyzing Interacting BPEL Processes

! choreography of BPEL processes may cause nontrivial communication

! arising question:Do the involved processes interact properly?

B!E!S!T Colloquium

, Eindhoven

3

Examples for ill-designed Interaction

! a sent message may not be received:

B!E!S!T Colloquium

, Eindhoven

3

Examples for ill-designed Interaction

! a sent message may not be received:

! processes run into a deadlock:

B!E!S!T Colloquium

, Eindhoven

3

Examples for ill-designed Interaction

! a sent message may not be received:

! processes run into a deadlock:

B!E!S!T Colloquium

, Eindhoven

4

Translating BPEL to open Workflow Nets

!"#$#%&#''()"*+#",%+-./$01*23#"/''(2"*45(#./$01*23#"64/''2(#")*%2+./728%+/''&)"%)97#./&)"/:!;"#$#%&#:

B!E!S!T Colloquium

, Eindhoven

4

Translating BPEL to open Workflow Nets

! pattern-based translation:BPEL activity ! Petri net pattern

init

final

?login

stop

stoppedlogin

(customer)

!"#$#%&#''()"*+#",%+-./$01*23#"/''(2"*45(#./$01*23#"64/''2(#")*%2+./728%+/''&)"%)97#./&)"/:!;"#$#%&#:

B!E!S!T Colloquium

, Eindhoven

4

Translating BPEL to open Workflow Nets

! pattern-based translation:BPEL activity ! Petri net pattern

! optimized translation is implemented in tool BPEL2oWFN

init

final

?login

stop

stoppedlogin

(customer)

!"#$#%&#''()"*+#",%+-./$01*23#"/''(2"*45(#./$01*23#"64/''2(#")*%2+./728%+/''&)"%)97#./&)"/:!;"#$#%&#:

B!E!S!T Colloquium

, Eindhoven

5

Open Workflow Net: An Example

p0

?login

?order ?terms

!confirm !invoice

p6 p7

! Petri net

B!E!S!T Colloquium

, Eindhoven

5

Open Workflow Net: An Example

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

! Petri net

B!E!S!T Colloquium

, Eindhoven

5

Open Workflow Net: An Example

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

! Petri net

! enhanced with interface

B!E!S!T Colloquium

, Eindhoven

5

Open Workflow Net: An Example

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

! Petri net

! enhanced with interface

! initial markinghere: [p0]

B!E!S!T Colloquium

, Eindhoven

5

Open Workflow Net: An Example

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

! Petri net

! enhanced with interface

! initial markinghere: [p0]

! final markinghere: [p6, p7]

B!E!S!T Colloquium

, Eindhoven

5

Open Workflow Net: An Example

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

! Petri net

! enhanced with interface

! initial markinghere: [p0]

! final markinghere: [p6, p7]

B!E!S!T Colloquium

, Eindhoven

6

Controllability

! interaction steps to reach final marking

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

!login

!terms

!order

?confirm

?invoice

B!E!S!T Colloquium

, Eindhoven

6

Controllability

! interaction steps to reach final marking

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

!login

!terms

!order

?confirm

?invoice

B!E!S!T Colloquium

, Eindhoven

6

Controllability

! interaction steps to reach final marking

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

!login

!terms

!order

?confirm

?invoice

B!E!S!T Colloquium

, Eindhoven

6

Controllability

! interaction steps to reach final marking

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

!login

!terms

!order

?confirm

?invoice

B!E!S!T Colloquium

, Eindhoven

6

Controllability

! interaction steps to reach final marking

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

!login

!terms

!order

?confirm

?invoice

B!E!S!T Colloquium

, Eindhoven

6

Controllability

! interaction steps to reach final marking

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

!login

!terms

!order

?confirm

?invoice

B!E!S!T Colloquium

, Eindhoven

6

Controllability

! interaction steps to reach final marking

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

!login

!terms

!order

?confirm

?invoice

B!E!S!T Colloquium

, Eindhoven

6

Controllability

! interaction steps to reach final marking

p0

?login

?order

login

?terms

!confirm !invoice

order

p6 p7

terms

confirm

invoice

!login

!terms

!order

?confirm

?invoice

net is controllable

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

choice

IG

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

! a canonically generated partner choice

IG

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

! a canonically generated partner choice

IG

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

! a canonically generated partner

! empty if none exists

choice

IG

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

! a canonically generated partner

! empty if none exists

! IG can be automatically generated with tool Fiona

choice

IG

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

! a canonically generated partner

! empty if none exists

! IG can be automatically generated with tool Fiona

choice

IG

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

OG

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

OG

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

OG

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

OG

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

! nodes are annotated

OG

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

! nodes are annotated

! partner = subgraph with fulfilling annotations

OG

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

! nodes are annotated

! partner = subgraph with fulfilling annotations

! OG can be automatically generated with tool Fiona

OG

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

! nodes are annotated

! partner = subgraph with fulfilling annotations

! OG can be automatically generated with tool Fiona

OG

B!E!S!T Colloquium

, Eindhoven

9

Example

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

B!E!S!T Colloquium

, Eindhoven

11

Generated oWFN

! generated by BPEL2oWFN

! 64 places! 4 input places! 3 output places

! 74 transitions

! 226 arcs

B!E!S!T Colloquium

, Eindhoven

11

Generated oWFN

! generated by BPEL2oWFN

! 64 places! 4 input places! 3 output places

! 74 transitions

! 226 arcs

B!E!S!T Colloquium

, Eindhoven

12

! IG not empty:Online Shop is controllable

IG and OG of Online Shop

IG

B!E!S!T Colloquium

, Eindhoven

12

! IG not empty:Online Shop is controllable

IG and OG of Online Shop

IG

B!E!S!T Colloquium

, Eindhoven

12

! IG not empty:Online Shop is controllable

! generated partner behaves as expected

IG and OG of Online Shop

IG

B!E!S!T Colloquium

, Eindhoven

12

! generated partner behaves as expected

IG and OG of Online Shop

IG

B!E!S!T Colloquium

, Eindhoven

12

! generated partner behaves as expected

IG and OG of Online Shop

IG

B!E!S!T Colloquium

, Eindhoven

12

IG and OG of Online Shop

IG OG

B!E!S!T Colloquium

, Eindhoven

13

Modified Shop

yes no

B!E!S!T Colloquium

, Eindhoven

13

Modified Shop

yes no

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

! Modified Shop is still controllable

IG

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

! Modified Shop is still controllable

! generated partner eventually aborts

IG

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

! Modified Shop is still controllable

! generated partner eventually aborts

IG

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

! Modified Shop is still controllable

! generated partner eventually aborts

! Do all partners behave in this way?

IG

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

!all partners will eventually send an abort message

IG OG

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

!all partners will eventually send an abort message

!no partner will ever receive an invoice

IG OG

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

!all partners will eventually send an abort message

!no partner will ever receive an invoice

!modified shop is useless! But why..?

IG OG

B!E!S!T Colloquium

, Eindhoven

15

Modified Shop

yes no

decision notcommunicated!

B!E!S!T Colloquium

, Eindhoven

15

Modified Shop

yes no

decision notcommunicated!

B!E!S!T Colloquium

, Eindhoven

15

Modified Shop

yes no

decision notcommunicated!

B!E!S!T Colloquium

, Eindhoven

16

Conclusion

! small changes can make BPEL processes useless

! finding these bugs is nontrivial

! tool chain BPEL2oWFN ! Fiona automates verification

B!E!S!T Colloquium

, Eindhoven

17

Open Tasks

! map counterexamples back to BPEL

B!E!S!T Colloquium

, Eindhoven

17

Open Tasks

! map counterexamples back to BPEL

! add data aspects to model

B!E!S!T Colloquium

, Eindhoven

17

Open Tasks

! map counterexamples back to BPEL

! add data aspects to model

! implementation of existing results for cyclic processes

B!E!S!T Colloquium

, Eindhoven

17

Open Tasks

! map counterexamples back to BPEL

! add data aspects to model

! implementation of existing results for cyclic processes

Thank you very much!