Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan...

Preview:

Citation preview

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.

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

Folie 3

Agenda

What is the idea of configurable reference models?

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

Folie 5

Agenda

What are EPCs?

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

Folie 7

EPC example from the SAP reference model

Folie 8

Agenda

What are Configurable EPCs?

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

Folie 10

Agenda

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

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

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

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

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

Folie 15

The configurable ‚vicious circle‘ example

off

seq

opt

Folie 16

Derive Configured Functions 1

off

opt

Folie 17

Derive Configured Functions 2

opt

Folie 18

Resulting EPC Process ModelIs functionexecuted?

yes

Folie 19

Resulting EPC Process ModelIs functionexecuted?

yes

Folie 20

Agenda

Conclusion

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

Folie 22

Thank you for your attention!

Folie 23

Agenda

What are the problems of deriving configured EPC?

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

Folie 25

Agenda

How to derive configured EPCs?

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

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>

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>

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>

Folie 30

C-EPC Validator based on XSLT

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

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

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

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

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

Folie 36

The configurable ‚vicious circle‘ example

off

seq

opt

Folie 37

Derive Configured Functions 1

off

opt

Folie 38

Derive Configured Functions 2

opt

Folie 39

Resulting EPC Process ModelIs functionexecuted?

yes

Folie 40

Resulting EPC Process ModelIs functionexecuted?

yes

Folie 41

Agenda

Conclusion

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

Recommended