Title: Model Transformations for Business Process Analysis and Execution
1Model Transformations for Business Process
Analysis and Execution
- Marlon Dumas
- University of Tartu
2Business Process Management (BPM)
- Collection of methods and techniques to design,
analyze, execute and monitor business operations
involving humans, software, information and
physical artifacts using process models.
3OK, so what is a process model?
- Collection of inter-dependent activities whose
collective performance is intended to achieve a
goal such as delivering a product or a service. - E,g. order-to-cash, procure-to-pay,
issue-to-resolution - Animated example
4Process models serve many purposes
ProcessImprovement
Compliance /Risk Management
Process Documentation
KnowledgeManagement
Process CostAnalysis / Simulation
EnterpriseSystems
EnterpriseArchitecture
WorkflowManagement
DocumentManagement
Software Evaluation/ Selection
5 they have many faces
Abstract Models EPC, BPMN Communication,
simulation, activity-based costing
Detailed Models BPEL, State Machines Data types,
conditions, data mappings, fault
handling Integration, testing, deployment
6and can be seen from many perspectives
- Control-flow
- Data
- Resource
- Operational
7Many in one, or one in many?
-
- The thing can be many in one sense, but also
can be one in another sense. -
- Imam Ghazali
- Revival of Religious Sciences
8Process ModellingDealing with Multiplicity
- Multiple modelling languages (meta-models)
- Multiple modelling viewpoints
- Control-flow view vs. data view
- Public views (protocols) vs. private views
- Multiple abstraction levels
- High-level tasks, performance metrics...
- Low-level data transformations, application
bindings...
9Process Modelling Notations
- Business Process Modelling Notation (BPMN)
- Event-driven Process Chains (EPC)
- Business Process Execution Language (BPEL)
- State machines and variants (e.g. IBM Business
State Machine, WWF) - Petri nets (and variants, e.g. YAWL)
10Model transformations
- BPMN-to-BPEL
- Purpose Transform models produced by analysts
into models for developers (and vice-versa) - Commonly supported in commercial tool, but in a
limited manner - BPEL-to-Petri nets
- For analysis verification
- BPMN-to-Petri nets
- For analysis verification (e.g.
deadlock-freeness)
11BPMN from 10 000 miles
12BPMN A more detailed view
13Quick BPMN example
14BPEL from 10 000 miles
- Basic activities ltassigngt, ltinvokegt, ltreceivegt
- Sequential flow ltsequencegt, ltwhilegt, ltswitchgt
- Block-structured parallel flow ltflowgt
- Graph-oriented (parallel) flow ltlinkgt
- Event-action rules ltonEventgt
- Other constructs not relevant to this talk
- Only partially supported by some tools
15A quick BPEL example
- ltsequencegt
- ltinvoke check stock availability /gt
- ltswitch () /gt
- ltcase rejectgt ltinvoke order rejection
/gt lt/casegt - ltotherwisegt
- ltsequencegt
- ltinvoke order acceptance /gt
- ltflowgt ltinvoke invoicing /gt
- ltinvoke ship goods /gt
- lt/flowgt
- lt/sequencegt lt/otherwisegt lt/switchgt
lt/sequencegt
16BPMN-to-BPEL Some monsters!
17BPMN-to-BPEL (from 10 000 miles)
- Repeat until reduction to a single node
- Identify a structured quasi-structured SESE
region ? Fold into a BPEL structured activity - Identify irreducible SESE regions without
parallelism ? Apply Goto?While
transformations, repeat from 1 - Identify acyclic fragments with concurrency ?
Fold into a BPEL activity with control links - Identify minimal unstructured components ?
BPEL event handlers
18BPMN-BPEL Structured Components
19BPMN-BPEL Structured Components
20BPMN-BPEL Structured Components
21Example Only Structured Components
22BPMN-to-BPEL Acyclic component
- Proposition Every acyclic BPMN component with a
single entry point and a single exit point that
is 1-safe and sound can be mapped to a BPEL Flow
with links
23ExampleStructuredAcyclic Components
24Minimizing the use of control links
25For the rest
- Identify a minimal SESE region that is neither
structured nor acyclic - For each action in the component, retrieve
- All actions that immediately precede it
- All actions that immediately follow it
- For each action, code the following behaviour
using event-action rules - Wait for a suitable combination of predecessors
to complete - Perform action
- Notify completion to all successors
26BPEL-to-Petri netApplication to Conformance
Checking
Services
Services
abstract BPEL process
Services
Conformance?
SOAP Messages
Translation
Monitoring / Correlation
Petri net model
Event Log
Conformance Checking!
27From BPEL to WF-nets
28Petri net-based Conformance Checking
- Objectives
- quantitatively measure conformance
- locate deviations
Conformance?
29Conformance Checking Fitness
30Conformance Checking Fitness
31Measuring fitness Log replay analysis
missing tokens remaining tokens
0 1
consumed tokens produced tokens
0 0
32Measuring fitness Log replay analysis
1 2
0 0
missing tokens remaining tokens
consumed tokens produced tokens
33Measuring fitness Log replay analysis
2 4
0 0
missing tokens remaining tokens
consumed tokens produced tokens
34Measuring fitness Log replay analysis
3 5
0 0
missing tokens remaining tokens
consumed tokens produced tokens
35Measuring fitness Log replay analysis
5 6
0 0
missing tokens remaining tokens
consumed tokens produced tokens
36Measuring fitness Log replay analysis
6 7
0 0
missing tokens remaining tokens
consumed tokens produced tokens
37Measuring fitness Log replay analysis
7 7
0 0
missing tokens remaining tokens
consumed tokens produced tokens
38Measuring fitness Log replay analysis
9 9
0 0
missing tokens remaining tokens
consumed tokens produced tokens
39Measuring fitness Log replay analysis
9 9
0 0
missing tokens remaining tokens
consumed tokens produced tokens
40Measuring fitness Log replay analysis
0 1
0 0
missing tokens remaining tokens
consumed tokens produced tokens
41Measuring fitness Log replay analysis
1 2
0 0
missing tokens remaining tokens
consumed tokens produced tokens
42Measuring fitness Log replay analysis
2 4
1 0
missing tokens remaining tokens
consumed tokens produced tokens
43Measuring fitness Log replay analysis
3 5
1 0
missing tokens remaining tokens
consumed tokens produced tokens
44Measuring fitness Log replay analysis
4 6
1 0
missing tokens remaining tokens
consumed tokens produced tokens
45Measuring fitness Log replay analysis
6 7
1 0
missing tokens remaining tokens
consumed tokens produced tokens
46Measuring fitness Log replay analysis
7 8
1 0
missing tokens remaining tokens
consumed tokens produced tokens
47Measuring fitness Log replay analysis
8 8
1 1
missing tokens remaining tokens
consumed tokens produced tokens
48Measuring fitness Log replay analysis
8 8
1 1
missing tokens remaining tokens
consumed tokens produced tokens
49Measuring fitness Log replay analysis
50Measuring fitness Log replay analysis
f 1.0
f 0.540
f 0.955
51Conformance Checking - Appropriateness
100 fitness but not sufficiently specific from
behavioral point of view.
100 fitness but not represented in structurally
suitable way.
52Ongoing work
- Reversible BPMN ? BPEL transformation
- Two-way transformation BPEL ? FSM
- Application to automated service composition
- BPEL ? FSM not too difficult
- FSM ? BPEL more exciting, e.g.
53References