generating correct epcs from configured c-epcs* jan mendlingvienna university of economics jan...

42
Generating Correct EPCs from Configured C- EPCs* Jan Mendling Vienna University of Economics Jan Recker Queensland University of Technology Michael Rosemann Queensland University of Technology Wil van der Aalst Eindhoven University of Technology * The research on the C-EPC is financially supported by SAP Research.

Upload: jesse-thompson

Post on 13-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Generating Correct EPCs from Configured C-EPCs*

Jan Mendling Vienna University of EconomicsJan Recker Queensland University of TechnologyMichael Rosemann Queensland University of TechnologyWil van der Aalst Eindhoven University of Technology

* The research on the C-EPC is financially supported by SAP Research.

Page 2: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 2

Agenda

1. What is the idea of configurable reference models?

2. What are EPCs, what are Configurable EPCs?

3. How to derive correct EPCs from a configured C-EPC?

4. Conclusion

Page 3: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 3

Agenda

What is the idea of configurable reference models?

Page 4: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 4

From Reference Model of Instantiation

modification

X

Reference Model

X

Enterprise Model Process Instances

configuration

X

configurableReference Model

X

Enterprise Model Process Instances

Page 5: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 5

Agenda

What are EPCs?

Page 6: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 6

EPC symbols

EPC syntax rules:

• Alternate functions and events

• No OR and XOR split after events

Event

Function

Process Interface

Connectors

Control Flow Arc

EPC Symbols

Page 7: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 7

EPC example from the SAP reference model

Page 8: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 8

Agenda

What are Configurable EPCs?

Page 9: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 9

C-EPC Example

1

A

REQUIREMENTA = OFF Þ OR = AND

2

B

3

C

6

V

4

7

5

D E

V

configurable function

normal function

normal connector

guideline

configurable connector

requirement

GUIDELINED=ON ó E=ON

V

1

A

2

B

3

C

6

V

4

7

5

D E

V

X

Configurable EPC Configured C-EPC

Page 10: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 10

Agenda

How to derive correct EPCs from a configured C-EPC?

Page 11: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 11

Three steps to arrive at minimal model

Goal: Calculate Process Graph that is minimal for configured C-EPC

• Derive Configured Connectors

• Derive Configured Functions

• Apply Graph Reduction to Process Graph

Proof-of-Concept Implementation:

Input: C-EPC in EPC Markup Language (EPML) extension

Output: EPC in EPML

Page 12: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 12

Derive Configured Connectors

Configuration Decision

E1

Transformation

F1

XOR

E2 E3 E4

F2 F3 F4

XOR

E5

XOR

E1

F1

SEQ

E2 E3 E4

F2 F3 F4

XOR

E5

XOR

Result

SEQ(goto E2)

E1

F1

E2

F2

E5

XOR

Page 13: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 13

Derive Configured Functions

(a)

A

EP

A

EP

“optional”“off”“on”

Build-time Configuration Decision

EP/S

A

EP

XOR

XOR

A A

A

Ex

XOR

Z

XOR

any any anyany

(b)“optional”“off”“on”

Build-time Configuration Decision

ES ES

ES

ES ES

ES

(c)

A

EP

A

EP

“optional”“off”“on”

Build-time Configuration Decision

A

EP

XOR

XOR

A A

A

Ex

XOR

Z

XOR

any any anyany

(d)“optional”“off”“on”

Build-time Configuration Decision

any any

any

any

any any any

any

do nothing

Page 14: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 14

Reduce Graph

(a)

A

EP

AND

ANY

EP EP

A

EP

AND

ANY

EP

(b) (d)

A

EP

XOR

ANY

A

EP

XOR

ANY

A

EP

AND

ANY

A

EP

AND

ANY

A

EP

XOR

ANY

EP E1 E2

A

EP

XOR

ANY

EP E12

(e)(c)

ANY

anyE

PC

1an

yEP

C2

anyE

PC

1an

yEP

C2

Page 15: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 15

The configurable ‚vicious circle‘ example

off

seq

opt

Page 16: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 16

Derive Configured Functions 1

off

opt

Page 17: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 17

Derive Configured Functions 2

opt

Page 18: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 18

Resulting EPC Process ModelIs functionexecuted?

yes

Page 19: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 19

Resulting EPC Process ModelIs functionexecuted?

yes

Page 20: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 20

Agenda

Conclusion

Page 21: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 21

Conclusion

• Configuration is promising to leverage reuse of reference models

• Configurable reference models make configuration choices explicit

• Future research:

• Tool support within ProM

• Engineering of configurable models

Page 22: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 22

Thank you for your attention!

Page 23: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 23

Agenda

What are the problems of deriving configured EPC?

Page 24: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 24

Example of a C-Function in a Sequence

Node context

A

EP

ES

Variant 1

A

EP

ES

Variant 1

A

Ex

ES

XOR

Z

EP

A

ES

EP

XOR

EP/S

Variant 3 Variant 5Variant 4

“optional”“off”“on”

Build-time Configuration Decision

XORXOR

EP/S

Variant 1 Variant 2

A

EP

ES

XOR

XOR

A

ES

EP

XOR

XOR

A

EP

XOR

ES

XOR

skipA

Page 25: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 25

Agenda

How to derive configured EPCs?

Page 26: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 26

Why XML-based C-EPCs?

• Have C-EPCs machine-processable for

• Validation: are requirements met?

• Transformation: calculate EPC from C-EPC

• Interchange: separate modeling and deployment

Page 27: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 27

Configurable Functions

• Configurability: mark function as configurable

• Configuration: assign ON, OPT, or OFF to configurable function

<function id ='7' name='A'>

<configurableFunction>

<configuration value='off'/>

</configurableFunction>

</function>

Page 28: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 28

Configurable Connectors

• Configurability: mark connector as configurable

• Configuration: assign AND, XOR, OR, or SEQ to c-connector depending on c-connector type

<or id ='9'>

<configurableConnector>

<configuration value='and'/>

</configurableConnector>

</or>

Page 29: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 29

Further Configurability Aspects

• Configuration Requirements:constraints on the allowed configuration – must hold true

• Configuration Guidelines:advises on actual configuration – should hold true

• Configuration Order:recommended partial order identifying configuration sequences

<configurationRequirement idRefs=’list of xs:integer’>

<if xpath=’xpath-statement’/>

<then xpath=’xpath-statement’/>

</configurationRequirement>

Page 30: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 30

C-EPC Validator based on XSLT

Page 31: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 31

Conclusion

• Configuration is promising to leverage reuse of reference models

• Configurable reference models make configuration choices explicit

• Derivation of EPCs from C-EPCs

• Future research:

• Tool support

• Engineering of configurable models

Page 32: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 32

Three steps to arrive at minimal model

Goal: Calculate Process Graph that is minimal for configured C-EPC

• Derive Configured Connectors

• Derive Configured Functions

• Apply Graph Reduction to Process Graph

Proof-of-Concept Implementation:

Input: C-EPC in EPC Markup Language (EPML) extension

Output: EPC in EPML

Page 33: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 33

Derive Configured Connectors

Configuration Decision

E1

Transformation

F1

XOR

E2 E3 E4

F2 F3 F4

XOR

E5

XOR

E1

F1

SEQ

E2 E3 E4

F2 F3 F4

XOR

E5

XOR

Result

SEQ(goto E2)

E1

F1

E2

F2

E5

XOR

Page 34: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 34

Derive Configured Functions

(a)

A

EP

A

EP

“optional”“off”“on”

Build-time Configuration Decision

EP/S

A

EP

XOR

XOR

A A

A

Ex

XOR

Z

XOR

any any anyany

(b)“optional”“off”“on”

Build-time Configuration Decision

ES ES

ES

ES ES

ES

(c)

A

EP

A

EP

“optional”“off”“on”

Build-time Configuration Decision

A

EP

XOR

XOR

A A

A

Ex

XOR

Z

XOR

any any anyany

(d)“optional”“off”“on”

Build-time Configuration Decision

any any

any

any

any any any

any

do nothing

Page 35: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 35

Reduce Graph

(a)

A

EP

AND

ANY

EP EP

A

EP

AND

ANY

EP

(b) (d)

A

EP

XOR

ANY

A

EP

XOR

ANY

A

EP

AND

ANY

A

EP

AND

ANY

A

EP

XOR

ANY

EP E1 E2

A

EP

XOR

ANY

EP E12

(e)(c)

ANY

anyE

PC

1an

yEP

C2

anyE

PC

1an

yEP

C2

Page 36: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 36

The configurable ‚vicious circle‘ example

off

seq

opt

Page 37: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 37

Derive Configured Functions 1

off

opt

Page 38: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 38

Derive Configured Functions 2

opt

Page 39: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 39

Resulting EPC Process ModelIs functionexecuted?

yes

Page 40: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 40

Resulting EPC Process ModelIs functionexecuted?

yes

Page 41: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 41

Agenda

Conclusion

Page 42: Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland

Folie 42

Conclusion

• Configuration is promising to leverage reuse of reference models

• Configurable reference models make configuration choices explicit

• Future research:

• Tool support

• Engineering of configurable models