transformation strategies between block-oriented and graph-oriented process modeling languages

20
Transformation Strategies between Block-Oriented and Graph-Oriented Process Modeling Languages Jan Mendling Vienna University of Economics (WU Wien) Kristian Bisgaard Lassen University of Aarhus Uwe Zdun Vienna University of Economics (WU Wien)

Upload: osias

Post on 22-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Transformation Strategies between Block-Oriented and Graph-Oriented Process Modeling Languages. Jan Mendling Vienna University of Economics (WU Wien) Kristian Bisgaard LassenUniversity of Aarhus Uwe ZdunVienna University of Economics (WU Wien). Recent Papers. X to BPEL: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Transformation Strategies between Block-Oriented and Graph-Oriented Process Modeling Languages

Jan Mendling Vienna University of Economics (WU Wien)

Kristian Bisgaard Lassen University of Aarhus

Uwe Zdun Vienna University of Economics (WU Wien)

Page 2: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 2

Recent Papers

• X to BPEL:• Baina et al.: Model-Driven Web Service Development. In CAiSE 2004.

• Gardner. UML Modelling of Automated Business Processes with a Mapping to BPEL4WS. In

First European Workshop on Object Orientation and Web Services at ECOOP 2003.

• Hofreiter and Huemer. Transforming UMM Business Collaboration Models to BPEL. OTM Workshops 2004.

• Mendling and Hafner. From Inter-Organizational Workflows to Process Execution: Generating BPEL from WS-CDL. OTM Workshops 2005.

• Moon et al. Transformation Algorithms between BPEL4WS and BPML for the Executable Business Process. In WETICE 2004.

• van der Aalst, Jørgensen and Lassen. Let’s Go All the Way: From Requirements via Colored Workflow Nets to a BPEL Implementation of

a New Bank System. In CoopIS 2005.

• White. Business Process Modeling Notation (BPMN). Specification, BPMI.org, 2004.

• Mendling, J. Ziemann: Transformation of BPEL Processes to EPCs. In EPK 2005.

• Koschmider, von Mevius: A Petri Net Based Approach for Process Model Driven Deduction of BPEL Code. OTM Workshops 2005.

• BPEL to Y:• Hinz, Schmidt, and Stahl. Transforming BPEL to Petri Nets. In BPM 2005.

• Mendling and Ziemann. EPK-Visualisierung von BPEL4WS Prozessdefinitionen. In Workshop on Software Reengineering, 2005.

Page 3: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 3

Agenda

1. Graph-oriented versus Block-oriented Process Modeling

2. Strategies for BPEL to Process Graph Transformation

3. Strategies for Process Graph to BPEL Transformation

4. Conclusion

Page 4: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 4

Agenda

Graph-oriented versus Block-oriented Process Modeling

Page 5: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 5

A BPEL Process

001 <process name="purchaseOrderProcess"002 targetNamespace="..."003 xmlns="..."004 xmlns:lns="...">...044 <sequence>045 <receive partnerLink="purchasing"046 portType="lns:purchaseOrderPT"047 operation="sendPurchaseOrder"048 variable="PO">049 </receive>050 <flow>051 <links>052 <link name="ship-to-invoice"/>053 <link name="ship-to-scheduling"/>054 </links>055 <sequence>056 <assign>057 <copy>058 <from variable="PO" part="customerInfo"/>059 <to variable="shippingRequest"060 part="customerInfo"/>061 </copy>062 </assign>063 <invoke partnerLink="shipping"064 portType="lns:shippingPT"065 operation="requestShipping"066 inputVariable="shippingRequest"067 outputVariable="shippingInfo">068 <source linkName="ship-to-invoice"/>069 </invoke>070 <receive partnerLink="shipping"071 portType="lns:shippingCallbackPT"072 operation="sendSchedule"073 variable="shippingSchedule">074 <source linkName="ship-to-scheduling"/>075 </receive>076 </sequence>

077 <sequence>078 <invoke partnerLink="invoicing"079 portType="lns:computePricePT"080 operation="initiatePriceCalculation"081 inputVariable="PO">082 </invoke>083 <invoke partnerLink="invoicing"084 portType="lns:computePricePT"085 operation="sendShippingPrice"086 inputVariable="shippingInfo">087 <target linkName="ship-to-invoice"/>088 </invoke>089 <receive partnerLink="invoicing"090 portType="lns:invoiceCallbackPT"091 operation="sendInvoice"092 variable="Invoice"/>093 </sequence>094 <sequence>095 <invoke partnerLink="scheduling"096 portType="lns:schedulingPT"097 operation="requestProductionScheduling"098 inputVariable="PO">099 </invoke>100 <invoke partnerLink="scheduling"101 portType="lns:schedulingPT"102 operation="sendShippingSchedule"103 inputVariable="shippingSchedule">104 <target linkName="ship-to-scheduling"/>105 </invoke>106 </sequence>107 </flow>108 <reply partnerLink="purchasing"109 portType="lns:purchaseOrderPT"110 operation="sendPurchaseOrder"111 variable="Invoice"/>112 </sequence>113 </process>

Page 6: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 6

A BPEL Process: Structured Activities

001 <process name="purchaseOrderProcess"002 targetNamespace="..."003 xmlns="..."004 xmlns:lns="...">...044 <sequence>045 <receive partnerLink="purchasing"046 portType="lns:purchaseOrderPT"047 operation="sendPurchaseOrder"048 variable="PO">049 </receive>050 <flow>051 <links>052 <link name="ship-to-invoice"/>053 <link name="ship-to-scheduling"/>054 </links>055 <sequence>056 <assign>057 <copy>058 <from variable="PO" part="customerInfo"/>059 <to variable="shippingRequest"060 part="customerInfo"/>061 </copy>062 </assign>063 <invoke partnerLink="shipping"064 portType="lns:shippingPT"065 operation="requestShipping"066 inputVariable="shippingRequest"067 outputVariable="shippingInfo">068 <source linkName="ship-to-invoice"/>069 </invoke>070 <receive partnerLink="shipping"071 portType="lns:shippingCallbackPT"072 operation="sendSchedule"073 variable="shippingSchedule">074 <source linkName="ship-to-scheduling"/>075 </receive>076 </sequence>

077 <sequence>078 <invoke partnerLink="invoicing"079 portType="lns:computePricePT"080 operation="initiatePriceCalculation"081 inputVariable="PO">082 </invoke>083 <invoke partnerLink="invoicing"084 portType="lns:computePricePT"085 operation="sendShippingPrice"086 inputVariable="shippingInfo">087 <target linkName="ship-to-invoice"/>088 </invoke>089 <receive partnerLink="invoicing"090 portType="lns:invoiceCallbackPT"091 operation="sendInvoice"092 variable="Invoice"/>093 </sequence>094 <sequence>095 <invoke partnerLink="scheduling"096 portType="lns:schedulingPT"097 operation="requestProductionScheduling"098 inputVariable="PO">099 </invoke>100 <invoke partnerLink="scheduling"101 portType="lns:schedulingPT"102 operation="sendShippingSchedule"103 inputVariable="shippingSchedule">104 <target linkName="ship-to-scheduling"/>105 </invoke>106 </sequence>107 </flow>108 <reply partnerLink="purchasing"109 portType="lns:purchaseOrderPT"110 operation="sendPurchaseOrder"111 variable="Invoice"/>112 </sequence>113 </process>

Page 7: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 7

Process Graph vs. BPEL control flow

Start

A

Start

B C D

E

F

G

H

I J

End End

Pick

empty empty

Switch

empty

Flow

A

Flow

C D

Sequence

B E

F

G

While

H

Flow

I J

termi-nate

termi-nate

Sequence

Page 8: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 8

Important Properties

• Structured Process Graph

• Acyclic Process Graph

• Structured BPEL control flow

A

B

Sequence

F

c

BA

c

F

Connector Pairs

x

B

x

F

Simple Loop

Page 9: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 9

Agenda

Strategies for BPEL to Process Graph Transformation

Page 10: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 10

1. Flattening Strategy

sequence

while

switch

flow

invoke

invoke

invoke

invoke

invoke

invoke

link

x

x

x

x

Start

End

source

target

Structured BPEL

any BPEL

Page 11: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 11

2. Hierarchy-Preservation Strategy

sequence

while

switch

flow

invoke

invoke

invoke

invoke

invoke

invoke

link

x

x

End

source

target

Structured BPEL

any BPEL

x

x

Start

End

Start

End

Start

StartEnd

Page 12: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 12

3. Hierarchy-Maximization Strategy

End

Start

sequence

while

switch

flow

invoke

invoke

invoke

invoke

invoke

invoke

link

x

x

source

target

Structured BPEL

any BPEL

x

x

Start

End

Start

End

Start

End

Page 13: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 13

Agenda

Strategies for Process Graph to BPEL Transformation

Page 14: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 14

1. Element-Preservation Strategy

flow

link

link

empty

empty

invoke

invoke

x

x

x

x

Start

End

Structured P-Graph

Acyclic P-Graph

any P-Graph

Page 15: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 15

2. Element-Minimization Strategy

flow

link

link

invoke

invoke

invoke

invoke

x

x

x

x

Start

End

Structured P-Graph

Acyclic P-Graph

any P-Graph

Page 16: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 16

3. Structure-Identification Strategy

sequence

while

switch

flow

invoke

invoke

invoke

invoke

invoke

invoke

x

x

x

x

Start

End

Structured P-Graph

Acyclic P-Graph

any P-Graph

Page 17: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 17

4. Structure-Maximization Strategy

sequence

while

switch

flow

invoke

invoke

invoke

invoke

invoke

invoke

link

x

x

x

x

Start

End

source

target

Structured P-Graph

Acyclic P-Graph

any P-Graph

Page 18: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 18

Agenda

Conclusion

Page 19: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 19

Conclusion

BPEL to Process Graph

1. Flattening Structured BPEL any BPEL

2. Hierarchy-Preservation

3. Hierarchy-Maximization

Structured BPEL any BPEL

Structured BPEL any BPEL

Process GraphTo BPEL

1. Element-Preservation

2. Element-Minimization

3. Structure-Identification

4. Structure-Maximization

Structured P-Graph Acyclic P-Graph any P-Graph

Structured P-Graph Acyclic P-Graph any P-Graph

Structured P-Graph Acyclic P-Graph any P-Graph

Structured P-Graph Acyclic P-Graph any P-Graph

Page 20: Transformation Strategies between  Block-Oriented and Graph-Oriented  Process Modeling Languages

Folie 20

Agenda

Thank you