380 likes | 644 Views
Remind the business analyst he should pay attention to errors ... How do we prevent the business analyst from missing possible exceptions, but without interrupting his work on ...
E N D
1. Semantic business process for improved exception handling
Extend BPMN, with semantic data, to enforce exception handling - for robust processes
25-Apr-11 22. Semantic business process for improved exception handling
A thesis submitted as a requirement for a Master's degree in the Faculty of Natural Sciences By: Ziv Ben-Eliahu Supervisor: Michael Elhadad Department of Computer Science Ben-Gurion University of the Negev, Israel
25-Apr-11 33. Things to come
Introduction Exceptions in business processes Our contribution: elicit potential exceptions at modeling time ------------------------------------- Previous work Formal methods for verification, runtime analysis. Our approach Use semantic and structural information to infer potential exceptions modeling time. Empirical Evaluation Dataset, usability experiment Conclusions
25-Apr-11 44. Introduction
Process execution may fail Identifying potential problems as early as possible is critical Engineering Applications Productions Business processes Define problems: any deviations from the normal flow
25-Apr-11 55. Introduction
2 aspects considered: how to identify exceptions how to handle exceptions enforce handling applied to Business Process Models (and BPMN specifically) ?? ??? ?? ??????? ????? ?? ??. ??? ??? ?????? ?? ??????. ??????? ???????? ????, ???????????. ???? ???? ????? ?????, ??????? ???? ???? ???.?? ??? ?? ??????? ????? ?? ??. ??? ??? ?????? ?? ??????. ??????? ???????? ????, ???????????. ???? ???? ????? ?????, ??????? ???? ???? ???.
25-Apr-11 66. Introduction: BPMN
BPMN??? ?? ????? ?? ?? ?? ?????? ??????? ??????BPMN??? ?? ????? ?? ?? ?? ?????? ??????? ??????
25-Apr-11 77. To make a long story short
Before ???? ???????, ???? ??? ??????, ?????? ????? ?????? ?? ?????? ??????????? ???????, ???? ??? ??????, ?????? ????? ?????? ?? ?????? ???????
25-Apr-11 88. To make a long story short
Business analysts seldom use Exception Flow Empirical review of 302 BPDs – we found only 3% with exceptions. ? To encourage them: add intuitive semantic data infer less intuitive exception data verify handling ???? ???????, ???? ??? ??????, ?????? ????? ?????? ?? ?????? ??????????? ???????, ???? ??? ??????, ?????? ????? ?????? ?? ?????? ???????
25-Apr-11 99. To make a long story short
After (our contribution) ??? ????? ????. ??? ????? ???? ??? ????????? ????? ????. ??? ????? ???? ??? ??????
25-Apr-11 1010. Our Contribution
Intervene during modeling, in an intuitive and non-intrusive manner Remind the business analyst he should pay attention to errors Do not deal with handling strategies (how to organize compensation) Do not want too many “false alarms” Do want to catch as many correct errors as possible Key issue we address: what knowledge on the activity and the process is helpful to raise such warnings
25-Apr-11 1111. To make a long story long
Background Related work: handling, verify IDE as motivation (intuitive) Early detection of exceptions: handling exceptions at modeling time. Semantic activity classification to infer potential exceptions. Empirical Evaluation
25-Apr-11 1212. Background: Exceptions in BPM
[Bonatti et al.04] chooses optimal web service – failure handled by automatically replacing service by another equivalent one. [Shang et al.07] collaborative exception handling platform proposes handling strategies (at failures) [Adams 07] records handling decisions, attempts to re-use, and reverse-engineer into model Handling exceptions at execution time ???? ?????? BPEL???? ?????? BPEL
25-Apr-11 1313. Verification of BPEL/ECA
[Fu et al.04] WSAT: analyzes web services composition using model-based formal methods. [Bry et al.06] realizing business processes with Event-Condition-Action rules (instead of BPEL) with datalog-like verification. [Casati et al.99] suggests ECA-Patterns to the design of exceptions Verification of exception handling in execution languages ???? ?????? BPEL???? ?????? BPEL
25-Apr-11 1414. Verification of BPMN
[Dijkman et al.08] transform BPMN to Petri-Nets then uses Petri-net analysis for verification [Wong et al.07] propose a CSP-based semantics of BPMN to allow model analysis including exception handling Verification at modeling time Pattern = semantic data. We did not encounter any attempts to infer possible exceptions from semantic data, which is not pattern related. ??? ?? ??? ?? ???? ?? ??.... (?????? ????)Pattern = semantic data. We did not encounter any attempts to infer possible exceptions from semantic data, which is not pattern related. ??? ?? ??? ?? ???? ?? ??.... (?????? ????)
25-Apr-11 1515. Exception handling in WF
[Russell et al.06] (a) graphical lang. for exception handling, (b) handling patterns per exception [Song et al.03] (a) exception specification in workflow definition, (b) an exception handling mechanism [Eder et al.95] specify whether special tasks are essential and whether there are compensation Handling exceptions at modeling time in other workflow language Pattern = semantic data. We did not encounter any attempts to infer possible exceptions from semantic data, which is not pattern related. ??? ?? ??? ?? ???? ?? ??.... (?????? ????)Pattern = semantic data. We did not encounter any attempts to infer possible exceptions from semantic data, which is not pattern related. ??? ?? ??? ?? ???? ?? ??.... (?????? ????)
25-Apr-11 1616. Our approach
Identify exceptions at modeling time. Many focus on runtime. Current verification handles only explicit exception. We elicit implicit exceptions. Verification of exceptions requires extending BPMN specifications. An intuitive method for a business analyst should involve business semantics Except [Adams], we did not find evaluations of system usability Pattern = semantic data. We did not encounter any attempts to infer possible exceptions from semantic data, which is not pattern related. ??? ?? ??? ?? ???? ?? ??.... (?????? ????)Pattern = semantic data. We did not encounter any attempts to infer possible exceptions from semantic data, which is not pattern related. ??? ?? ??? ?? ???? ?? ??.... (?????? ????)
25-Apr-11 1717. A better way to handle exceptions…
Many programming languages require handlers at compilation time (Java, ADA…) Exception handling at design time IDE is our motivation
18. Why BPMN
BPMN is the standard de-facto Capture models of business activity in an explicit form Model description can be approved by all stakeholders (balancing expressivity and readability). Model description can serve as abstract specification of executable process. 25-Apr-11 18
19. Why Prosero
Models in the repository are annotated with semantic meta-data, for the matching procedure Future version could: Use the repository data to infer on local semantics Use the local semantics for the matching procedure 19 25-Apr-11
25-Apr-11 2020. Background - summary
It is important for BPDs to be as close to reality as possible; including exception handling. “Exception” in broader terms. We reviewed several methods to add semantic metadata to a BPD. But few methods are as intuitive as IDEs, and those do not support BPMN.
25-Apr-11 2121. Objectives: early detection
How do we prevent the business analyst from missing possible exceptions, but without interrupting his work on the happy path? How can we help the business analyst decide which exception an Activity might throw? Business level exception – ???? ????? ??? ?????? ???Business level exception – ???? ????? ??? ?????? ???
25-Apr-11 2222. Solution
Extend BPMN Activity Errors Handlers Parameters Offer recommendation Classifications Exceptions Inference Relations (?) We constructed generic lists <elements xsi:type="bpmn:Task" name="Don't Worry"> <eventHandler Trigger="Error" name="IsWorried" /> <errors name="IsWorried" /> <errors name="Timeout" /> </elements> Perform action ? Action failed Complex action ? Timeout Send ? Send rejected Receive ? Receive rejected Query ? Query failed Update ? Update rejected ??? "??????" ??? ?????. ??? ?????? ????? ????? ???? Classification were specified under “Templates”. Templates also make sure the pattern fits the classification.??? "??????" ??? ?????. ??? ?????? ????? ????? ???? Classification were specified under “Templates”. Templates also make sure the pattern fits the classification.
23. Infer Potential Errors from Semantic Data
When semantic parameters of construct are known, one can infer potential errors. Activity is Send Activity requires authentication ? Authentication fails Send fails Send rejected 25-Apr-11 23
25-Apr-11 2424. Define Constructs
Define construct as: Activity Semantic class Exceptions Functional classes: Internal-Activity Send-Receive Receive-Process-Reply
25-Apr-11 2525. Define Templates
Our semantic parameters can be associated with an abstract sub-process (Update, Notif…)
25-Apr-11 2626. Template Instantiation
The abstract pattern, from the RMR, is instantiated into the CMR
27. Hypothesis
Use of semantically annotated constructs and patterns at modeling time will: Detect early potential errors Remain usable by analysts Small time increase High quality increase More benefit for complex processes 25-Apr-11 27
28. Methodology
Collect dataset: 11 process models of various complexities. Analyze error handling in dataset. Re-model processes using implemented BPMN modeling tool (Prosero). Measure usability parameters Measure quality of resulting models. 25-Apr-11 28
25-Apr-11 2929. Evaluation
30. Results
25-Apr-11 30
25-Apr-11 31 Added exception Should have added Correct exceptions All exception added Appropriate choices ? ? ? ? 25-Apr-11 3232. Complexity metrics
25-Apr-11 33
33. Conclusions
We provide an important feature for business analysts: suggest suitable exceptions. Empirical evaluation proved value of the tool Stakeholders receive a more accurate and robust business process
34. Future Work
Open issues: Where does the semantic classification come from? (employ heuristics) Must be coordinated with a Business Repository system (Prosero). Usability is critical – should be improved (GUI: icons, perspectives). Feedback from runtime can provide valuable data on possible exceptions (Learning). 25-Apr-11 34
35. Feedback response
Contribution in introduction Related work Why Prosero – values semantics Use Prosero RMR – future impl. Schema changes ramification – shorter OCL and XSL. Unclear solution – “To recommend and enforce”. See demo. Experiment participant – me.my.mi. Writing style – see paper. 25-Apr-11 35
25-Apr-11 3636. The End (Event)
Any failures?
37. Results
25-Apr-11 37
25-Apr-11 3838. Results
Recall = (TP) / (TP + FN) Accuracy = (TP + TN) / (TP + TN + FP + FN) Precision = (TP) / (TP + FP) F-measure = (2 * Precision * Recall) / (Precision + Recall)