Specification and Detection of Business Process Antipatterns

52
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

Transcript of Specification and Detection of Business Process Antipatterns

Page 1: Specification and Detection of Business Process Antipatterns

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

Page 2: Specification and Detection of Business Process Antipatterns

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

Page 3: Specification and Detection of Business Process Antipatterns

May 15, 2015

Web services Client application Users

messages messages

BPEL Engine

BPEL Process

Problem Context

Context

Related Work

Approach

Experiments

Conclusion

3 of 24 Palma et al. | Specification and Detection of Business Process Antipatterns

Page 4: Specification and Detection of Business Process Antipatterns

May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns

Problem Context

Web services Client application Users

messages messages

BPEL Engine

BPEL Process

BPMN model

Context

Related Work

Approach

Experiments

Conclusion

3 of 24

Page 5: Specification and Detection of Business Process Antipatterns

May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns

Problem Context

Web services Client application Users

messages messages

BPEL Engine

BPEL Process

Early design anomalies

BPMN model

Context

Related Work

Approach

Experiments

Conclusion

3 of 24

Page 6: Specification and Detection of Business Process Antipatterns

May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns

Problem Context

Web services Client application Users

messages messages

BPEL Engine

BPEL Process

Early design anomalies

BPMN model BPEL4WS process

Context

Related Work

Approach

Experiments

Conclusion

3 of 24

Page 7: Specification and Detection of Business Process Antipatterns

May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns

Problem Context

Web services Client application Users

messages messages

BPEL Engine

BPEL Process

Early design anomalies

BPMN model Transformation

gaps BPEL4WS process

Context

Related Work

Approach

Experiments

Conclusion

3 of 24

Page 8: Specification and Detection of Business Process Antipatterns

May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns

Problem Context

Web services Client application Users

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

Page 9: Specification and Detection of Business Process Antipatterns

May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns

Problem Context

Web services Client application Users

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

Page 10: Specification and Detection of Business Process Antipatterns

May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns

Problem Context

Web services Client application Users

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

Page 11: Specification and Detection of Business Process Antipatterns

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 services Client application Users

messages messages

BPEL Engine

BPEL Process

BPEL4WS process

Context

Related Work

Approach

Experiments

Conclusion

3 of 24

Page 12: Specification and Detection of Business Process Antipatterns

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

Page 13: Specification and Detection of Business Process Antipatterns

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

Page 14: Specification and Detection of Business Process Antipatterns

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

Page 15: Specification and Detection of Business Process Antipatterns

Outline

• Context

• Related Work

• Approach

• Experiments

• Conclusion

Page 16: Specification and Detection of Business Process Antipatterns

Outline

Context

Related Work

Approach

Experiments

Conclusion

Page 17: Specification and Detection of Business Process Antipatterns

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

Page 18: Specification and Detection of Business Process Antipatterns

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

Page 19: Specification and Detection of Business Process Antipatterns

Outline

Context

Related Work

Approach

Experiments

Conclusion

Page 20: Specification and Detection of Business Process Antipatterns

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

Page 21: Specification and Detection of Business Process Antipatterns

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

Page 22: Specification and Detection of Business Process Antipatterns

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

Page 23: Specification and Detection of Business Process Antipatterns

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

Page 24: Specification and Detection of Business Process Antipatterns

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

Page 25: Specification and Detection of Business Process Antipatterns

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

Page 26: Specification and Detection of Business Process Antipatterns

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

Page 27: Specification and Detection of Business Process Antipatterns

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

Page 28: Specification and Detection of Business Process Antipatterns

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

Page 29: Specification and Detection of Business Process Antipatterns

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

Page 30: Specification and Detection of Business Process Antipatterns

May 15, 2015 Palma et al. | Specification and Detection of Business Process Antipatterns

Approach (4/6): Generation

2. Generation of Detection Algorithms Rule cards Detection

Algorithms

Manual Implementation

Rules of Antipatterns

Detection Algorithms in JAVA

Context

Related Work

Approach

Experiments

Conclusion

11 of 24

Page 31: Specification and Detection of Business Process Antipatterns

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

Page 32: Specification and Detection of Business Process Antipatterns

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

Page 33: Specification and Detection of Business Process Antipatterns

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

Page 34: Specification and Detection of Business Process Antipatterns

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

Page 35: Specification and Detection of Business Process Antipatterns

Outline

Context

Related Work

Approach

Experiments

Conclusion

Page 36: Specification and Detection of Business Process Antipatterns

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

Page 37: Specification and Detection of Business Process Antipatterns

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

Page 38: Specification and Detection of Business Process Antipatterns

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

Page 39: Specification and Detection of Business Process Antipatterns

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}; };

Page 40: Specification and Detection of Business Process Antipatterns

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}; };

Page 41: Specification and Detection of Business Process Antipatterns

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}; };

Page 42: Specification and Detection of Business Process Antipatterns

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

Page 43: Specification and Detection of Business Process Antipatterns

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 24 Palma et al. | Specification and Detection of Business Process Antipatterns

Page 44: Specification and Detection of Business Process Antipatterns

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

Page 45: Specification and Detection of Business Process Antipatterns

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

Page 46: Specification and Detection of Business Process Antipatterns

Outline

Context

Related Work

Approach

Experiments

Conclusion

Page 47: Specification and Detection of Business Process Antipatterns

May 15, 2015

Conclusion

Palma et al. | Specification and Detection of Business Process Antipatterns

Context

Related Work

Approach

Experiments

Conclusion

23 of 24

Page 48: Specification and Detection of Business Process Antipatterns

May 15, 2015

Conclusion

Palma et al. | Specification and Detection of Business Process Antipatterns

Context

Related Work

Approach

Experiments

Conclusion

23 of 24

Page 49: Specification and Detection of Business Process Antipatterns

May 15, 2015

Conclusion

Palma et al. | Specification and Detection of Business Process Antipatterns

Context

Related Work

Approach

Experiments

Conclusion

23 of 24

Page 50: Specification and Detection of Business Process Antipatterns

May 15, 2015

Conclusion

Palma et al. | Specification and Detection of Business Process Antipatterns

Context

Related Work

Approach

Experiments

Conclusion

23 of 24

Page 51: Specification and Detection of Business Process Antipatterns

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

Page 52: Specification and Detection of Business Process Antipatterns

Thanks for your attention! Questions?