Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Specification and Detection of Business Process Antipatterns
1. Specification and Detection
of Business Process Antipatterns
Francis Palma, Naouel Moha, and Yann-Gaël Guéhéneuc
The MCETECH Conference, 2015
Ptidej Team, École Polytechnique de Montréal, Canada
Latece, Université du Québec à Montréal, Canada
2. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
Problem Context
2 of
• Service Oriented Architecture (SOA)
• Service orchestration using control logics
• Business Process Execution Language for Web Services (BPEL4WS)
• Business Process Modeling Notation (BPMN)
• Design patterns and antipatterns
24
3. May 15, 2015
Web servicesClient applicationUsers
messages messages
BPEL Engine
BPEL Process
Problem Context
Context
Related Work
Approach
Experiments
Conclusion
3 of 24Palma et al. | Specification and Detection of Business Process Antipatterns
4. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Problem Context
Web servicesClient applicationUsers
messages messages
BPEL Engine
BPEL Process
BPMN model
Context
Related Work
Approach
Experiments
Conclusion
3 of 24
5. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Problem Context
Web servicesClient applicationUsers
messages messages
BPEL Engine
BPEL Process
Early design
anomalies
BPMN model
Context
Related Work
Approach
Experiments
Conclusion
3 of 24
6. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Problem Context
Web servicesClient applicationUsers
messages messages
BPEL Engine
BPEL Process
Early design
anomalies
BPMN model
BPEL4WS process
Context
Related Work
Approach
Experiments
Conclusion
3 of 24
7. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Problem Context
Web servicesClient applicationUsers
messages messages
BPEL Engine
BPEL Process
Early design
anomalies
BPMN model
Transformation
gaps BPEL4WS process
Context
Related Work
Approach
Experiments
Conclusion
3 of 24
8. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Problem Context
Web servicesClient applicationUsers
messages messages
BPEL Engine
BPEL Process
Early design
anomalies
BPMN model
Conceptual
mismatch
Transformation
gaps BPEL4WS process
Context
Related Work
Approach
Experiments
Conclusion
3 of 24
9. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Problem Context
Web servicesClient applicationUsers
messages messages
BPEL Engine
BPEL Process
Early design
anomalies
BPMN model
Conceptual
mismatch
Transformation
gaps
Evolution
Evolution
BPEL4WS process
Context
Related Work
Approach
Experiments
Conclusion
3 of 24
10. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Problem Context
Web servicesClient applicationUsers
messages messages
BPEL Engine
BPEL Process
Early design
anomalies
BPMN model
Conceptual
mismatch
Antipatterns!
Transformation
gaps
Evolution
Evolution
BPEL4WS process
Context
Related Work
Approach
Experiments
Conclusion
3 of 24
11. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Early design
anomalies
hard to maintain
and evolve
bad quality
of service
poor design
BPMN model
Conceptual
mismatch
Antipatterns!
Transformation
gaps
Evolution
Evolution
Problem Context
Web servicesClient applicationUsers
messages messages
BPEL Engine
BPEL Process
BPEL4WS process
Context
Related Work
Approach
Experiments
Conclusion
3 of 24
12. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Process Antipatterns: An Example
*Jana Koehler and Jussi Vanhatalo, Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling, 2005
Context
Related Work
Approach
Experiments
Conclusion
4 of 24
13. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Process Antipatterns: An Example
Deadlocks Through Decision-Join Pairs
decision and join
Context
Related Work
Approach
Experiments
Conclusion
4 of 24
*Jana Koehler and Jussi Vanhatalo, Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling, 2005
14. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Process Antipatterns: An Example
Deadlocks Through Decision-Join Pairs
Context
Related Work
Approach
Experiments
Conclusion
4 of 24
*Jana Koehler and Jussi Vanhatalo, Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling, 2005
17. May 15, 2015
Related Work (1/2)
• Catalog of antipatterns:
- Onoda et al. (1999): 5 deadlock patterns
- Persson et al. (2006), Stirna et al. (2009): 6 patterns , 13 antipatterns
- Koehler and Vanhatalo (2007): 14 structural antipatterns
- Trcka et al. (2009): formalised 9 antipatterns using temporal logic
• Detection of antipatterns:
- Gruhn and Laue (2010): heuristic-based approach
- Laue and Awad (2010): visualise antipatterns
• BPEL4WS patterns:
- Wohed et al. (2002): analysed BPEL4WS based on communication patterns
- Aalst et al. (2003): 26 branching-synchronization, structural patterns
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
5 of 24
18. May 15, 2015
Related Work (2/2)
Identified gaps from the literature:
- Antipatterns and detection approaches: for graphical models
- No specifications of process antipatterns (except Trcka et al. 2009)
- No automatic detection approach for process antipatterns until now
- Various quality aspects of partner services were not considered
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
6 of 24
20. May 15, 2015
Solution towards detection
• We propose to:
- specify process antipatterns using rule cards
- define a concrete approach: SODA-BP
• We perform validation of SODA-BP
- eight antipatterns, 35 BPEL processes
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
7 of 24
21. May 15, 2015
Approach (1/6): SODA-BP
Palma et al. | Specification and Detection of Business Process Antipatterns
Service Oriented Detection for Antipatterns in Business Processes
1. Specification of
Process Antipatterns
inputs outputs
Process antipatterns Rule cards
Context
Related Work
Approach
Experiments
Conclusion
8 of 24
22. May 15, 2015
Approach (1/6): SODA-BP
Palma et al. | Specification and Detection of Business Process Antipatterns
Service Oriented Detection for Antipatterns in Business Processes
1. Specification of
Process Antipatterns
2. Generation of
Detection Algorithms
inputs outputs
Process antipatterns Rule cards
Rule cards Detection Algorithms
Context
Related Work
Approach
Experiments
Conclusion
8 of 24
23. May 15, 2015
Approach (1/6): SODA-BP
Palma et al. | Specification and Detection of Business Process Antipatterns
Service Oriented Detection for Antipatterns in Business Processes
1. Specification of
Process Antipatterns
2. Generation of
Detection Algorithms
3. Detection of
Process Antipatterns
inputs outputs
Process antipatterns Rule cards
Rule cards Detection Algorithms
Detection Algorithms Antipatterns occurrences
Context
Related Work
Approach
Experiments
Conclusion
8 of 24
24. May 15, 2015
Approach (2/6): Specify Rules
Palma et al. | Specification and Detection of Business Process Antipatterns
BNF grammar of the DSL of SODA-BP
Context
Related Work
Approach
Experiments
Conclusion
9 of 24
25. May 15, 2015
Approach (2/6): Specify Rules
Palma et al. | Specification and Detection of Business Process Antipatterns
BNF grammar of the DSL of SODA-BP
Context
Related Work
Approach
Experiments
Conclusion
9 of 24
26. May 15, 2015
Approach (2/6): Specify Rules
Palma et al. | Specification and Detection of Business Process Antipatterns
BNF grammar of the DSL of SODA-BP
Context
Related Work
Approach
Experiments
Conclusion
9 of 24
27. May 15, 2015
Approach (2/6): Specify Rules
Palma et al. | Specification and Detection of Business Process Antipatterns
BNF grammar of the DSL of SODA-BP
Context
Related Work
Approach
Experiments
Conclusion
9 of 24
28. May 15, 2015
Approach (2/6): Specify Rules
Palma et al. | Specification and Detection of Business Process Antipatterns
BNF grammar of the DSL of SODA-BP
Context
Related Work
Approach
Experiments
Conclusion
9 of 24
29. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Approach (3/6): Specify Rules
RULE_CARD Deadlock {
RULE Deadlock {X_DECISION S:PRECEDE (JOIN OR TASK)};
};
Context
Related Work
Approach
Experiments
Conclusion
10 of 24
30. May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns
Approach (4/6): Generation
2. Generation of
Detection AlgorithmsRule cards
Detection
Algorithms
Manual
Implementation
Rules of
Antipatterns
Detection
Algorithms
in JAVA
Context
Related Work
Approach
Experiments
Conclusion
11 of 24
31. May 15, 2015
Approach (5/6): Process Transform
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
12 of 24
32. May 15, 2015
Approach (5/6): Process Transform
Palma et al. | Specification and Detection of Business Process Antipatterns
Step 1
Step 1: An automatic transformation to abstract process
Step 2: Semantically equivalent process mappable to our language
Context
Related Work
Approach
Experiments
Conclusion
12 of 24
33. May 15, 2015
Approach (5/6): Process Transform
Palma et al. | Specification and Detection of Business Process Antipatterns
Step 1
Step 2
Step 1: An automatic transformation to abstract process
Step 2: Semantically equivalent process mappable to our language
Context
Related Work
Approach
Experiments
Conclusion
12 of 24
34. May 15, 2015
Approach (6/6): Detection Framework
Palma et al. | Specification and Detection of Business Process Antipatterns
Process Handler:
- generate the process structure trees (PSTs)
- map the abstract process model to rule-based language
- automatically apply detection algorithms on PSTs and report results
Context
Related Work
Approach
Experiments
Conclusion
13 of 24
36. May 15, 2015
Experiments (1/8): Assumptions
Palma et al. | Specification and Detection of Business Process Antipatterns
A1. Generality:
The DSL allows the specification of different process antipatterns.
A2. Accuracy:
Antipatterns detection algorithms have at least a precision of 75%,
and a recall of 100%.
A3. Extensibility:
Our DSL and SOFA framework are extensible by adding new
metrics and process antipatterns.
Context
Related Work
Approach
Experiments
Conclusion
14 of 24
37. May 15, 2015
Experiments (2/8): Subjects
Palma et al. | Specification and Detection of Business Process Antipatterns
1. Cyclic Deadlock through Join-Fork and Join-Decision Pair
2. Cyclic Lack of Synchronisation through Merge-Fork Pair
3. Dangling Inputs and Outputs
4. Deadlock Through Decision-Join Pair
5. Lack of Synchronisation through Fork-Merge Pair
6. Missing Data
7. Multiple Connections between Activities
8. Passing Shared Data along Several Branches
• Rule cards are available on http://sofa.uqam.ca/soda-bp/
Context
Related Work
Approach
Experiments
Conclusion
15 of 24
38. May 15, 2015
Experiments (3/8): Objects
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
16 of 24
39. May 15, 2015
Experiments (4/8): Results
Context
Related Work
Approach
Experiments
Conclusion
17 of 24
Lack of Synchronisation
antipattern
RULE_CARD LackOfSynchronisation {
RULE LackOfSynchronisation {(MultiForkAndMerge AND MergePrecedence) W:PRECEDE MERGE:i};
RULE MultiForkAndMerge {MultiFork AND MultiMerge};
RULE MultiFork {NOF ≥ 1};
RULE MultiMerge {NOM ≥ 2};
RULE MergePrecedence {FORK W:PRECEDE MERGE:j};
};
40. May 15, 2015
Experiments (4/8): Results
Context
Related Work
Approach
Experiments
Conclusion
17 of 24
Lack of Synchronisation
antipattern
RULE_CARD LackOfSynchronisation {
RULE LackOfSynchronisation {(MultiForkAndMerge AND MergePrecedence) W:PRECEDE MERGE:i};
RULE MultiForkAndMerge {MultiFork AND MultiMerge};
RULE MultiFork {NOF ≥ 1};
RULE MultiMerge {NOM ≥ 2};
RULE MergePrecedence {FORK W:PRECEDE MERGE:j};
};
41. May 15, 2015
Experiments (5/8): Results
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
18 of 24
Multiple Connections
antipattern
RULE_CARD MultipleConnection {
RULE MultipleConnection {MultiControlFlow OR MultiDataFlow};
RULE MultiControlFlow {NICF > 1};
RULE MultiDataFlow {NIDF > 1};
};
42. May 15, 2015
Experiments (6/8): Generality (A1)
Palma et al. | Specification and Detection of Business Process Antipatterns
RULE _CARD DanglingOutputs {
RULE DanglingOutputs {NUO = 0};
};
RULE_CARD LackOfSynchronisation {
RULE LackOfSynchronisation {(MultiForkAndMerge AND MergePrecedence) W:PRECEDE MERGE:i};
RULE MultiForkAndMerge {MultiFork AND MultiMerge};
RULE MultiFork {NOF ≥ 1};
RULE MultiMerge {NOM ≥ 2};
RULE MergePrecedence {FORK W:PRECEDE MERGE:j};
};
RULE_CARD MissingData {
RULE MissingData {RequiredInputData AND DanglingInput};
RULE RequiredInputData {UndeclaredData AND UnproducedData};
RULE UndeclaredData {NIU ≥ 1};
RULE UnproducedData {NIP ≥ 1};
RULE DanglingInput {RULE_CARD DanglingInputs};
};
Our DSL allows the specification of different process antipatterns.
Context
Related Work
Approach
Experiments
Conclusion
19 of 24
43. May 15, 2015
Experiments (7/8): Accuracy (A2)
Antipatterns detection algorithms have at least a precision of 75%,
and a recall of 100%.
Context
Related Work
Approach
Experiments
Conclusion
20 of 24Palma et al. | Specification and Detection of Business Process Antipatterns
44. May 15, 2015
Experiments (8/8): Extensibility (A3)
Palma et al. | Specification and Detection of Business Process Antipatterns
For the DSL:
19 SCA and Web services-specific metrics
10 new business process-specific metrics
Extended the DSL with new business process-specific constructs
For the SOFA framework:
specified and detected 23 antipatterns in SCA, Web services
8 business process-specific antipatterns
Our DSL and SOFA framework are extensible by adding new
metrics and process antipatterns.
Context
Related Work
Approach
Experiments
Conclusion
21 of 24
45. May 15, 2015
Comparison with other approaches
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
22 of 24
47. May 15, 2015
Conclusion
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
23 of 24
48. May 15, 2015
Conclusion
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
23 of 24
49. May 15, 2015
Conclusion
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
23 of 24
50. May 15, 2015
Conclusion
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
23 of 24
51. May 15, 2015
Future work
• Perform experiments on other large and complex processes
- Limitation: availability of business processes
• Automate the algorithm generation approach
• Analyse the processes dynamically
• Focus on the corrections of process antipatterns
Palma et al. | Specification and Detection of Business Process Antipatterns
Context
Related Work
Approach
Experiments
Conclusion
24 of 24