analyzing interacting bpel processes - an overview of the chair’s work

73
30.08.2006 Analyzing Interacting BPEL Processes An Overview of the Chair’s Work B!E!S!T Colloquium, Eindhoven Niels Lohmann [email protected] http://www.informatik.hu-berlin.de/~nlohmann

Upload: universitaet-rostock

Post on 22-Apr-2015

616 views

Category:

Education


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

Page 1: 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

[email protected]://www.informatik.hu-berlin.de/~nlohmann

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

B!E!S!T Colloquium

, Eindhoven

2

Analyzing Interacting BPEL Processes

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

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?

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

B!E!S!T Colloquium

, Eindhoven

3

Examples for ill-designed Interaction

! a sent message may not be received:

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

B!E!S!T Colloquium

, Eindhoven

3

Examples for ill-designed Interaction

! a sent message may not be received:

! processes run into a deadlock:

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

B!E!S!T Colloquium

, Eindhoven

3

Examples for ill-designed Interaction

! a sent message may not be received:

! processes run into a deadlock:

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

B!E!S!T Colloquium

, Eindhoven

4

Translating BPEL to open Workflow Nets

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

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

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#./&)"/:!;"#$#%&#:

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

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#./&)"/:!;"#$#%&#:

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

B!E!S!T Colloquium

, Eindhoven

5

Open Workflow Net: An Example

p0

?login

?order ?terms

!confirm !invoice

p6 p7

! Petri net

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

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

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

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

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

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]

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

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]

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

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]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

choice

IG

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

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

! a canonically generated partner choice

IG

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

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

! a canonically generated partner choice

IG

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

B!E!S!T Colloquium

, Eindhoven

7

Interaction Graph (IG)

! a canonically generated partner

! empty if none exists

choice

IG

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

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

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

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

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

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

OG

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

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

OG

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

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

OG

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

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

OG

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

B!E!S!T Colloquium

, Eindhoven

8

Operating Guideline (OG)

! represents all partners of a service

! nodes are annotated

OG

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

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

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

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

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

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

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

B!E!S!T Colloquium

, Eindhoven

9

Example

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

10

Online Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

11

Generated oWFN

! generated by BPEL2oWFN

! 64 places! 4 input places! 3 output places

! 74 transitions

! 226 arcs

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

B!E!S!T Colloquium

, Eindhoven

11

Generated oWFN

! generated by BPEL2oWFN

! 64 places! 4 input places! 3 output places

! 74 transitions

! 226 arcs

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

B!E!S!T Colloquium

, Eindhoven

12

! IG not empty:Online Shop is controllable

IG and OG of Online Shop

IG

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

B!E!S!T Colloquium

, Eindhoven

12

! IG not empty:Online Shop is controllable

IG and OG of Online Shop

IG

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

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

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

B!E!S!T Colloquium

, Eindhoven

12

! generated partner behaves as expected

IG and OG of Online Shop

IG

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

B!E!S!T Colloquium

, Eindhoven

12

! generated partner behaves as expected

IG and OG of Online Shop

IG

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

B!E!S!T Colloquium

, Eindhoven

12

IG and OG of Online Shop

IG OG

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

B!E!S!T Colloquium

, Eindhoven

13

Modified Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

13

Modified Shop

yes no

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

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

! Modified Shop is still controllable

IG

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

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

! Modified Shop is still controllable

! generated partner eventually aborts

IG

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

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

! Modified Shop is still controllable

! generated partner eventually aborts

IG

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

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

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

B!E!S!T Colloquium

, Eindhoven

14

IG and OG of Modified Shop

!all partners will eventually send an abort message

IG OG

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

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

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

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

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

B!E!S!T Colloquium

, Eindhoven

15

Modified Shop

yes no

decision notcommunicated!

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

B!E!S!T Colloquium

, Eindhoven

15

Modified Shop

yes no

decision notcommunicated!

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

B!E!S!T Colloquium

, Eindhoven

15

Modified Shop

yes no

decision notcommunicated!

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

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

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

B!E!S!T Colloquium

, Eindhoven

17

Open Tasks

! map counterexamples back to BPEL

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

B!E!S!T Colloquium

, Eindhoven

17

Open Tasks

! map counterexamples back to BPEL

! add data aspects to model

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

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

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

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!