Upload
jesse-thompson
View
226
Download
0
Embed Size (px)
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