30-Jun-151 Semantic business process for improved exception handling Extend BPMN, with semantic...
-
date post
21-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of 30-Jun-151 Semantic business process for improved exception handling Extend BPMN, with semantic...
Apr 19, 2023 1
Semantic business Semantic business process for improved process for improved exception handlingexception handling
Extend BPMN, with semantic Extend BPMN, with semantic data, to enforce exception data, to enforce exception handling - for robust processeshandling - for robust processes
Apr 19, 2023 2
Semantic business Semantic business process for improved process for improved exception handlingexception handling
A thesis submitted as a requirement for a Master's degree in A thesis submitted as a requirement for a Master's degree in the Faculty of Natural Sciencesthe Faculty of Natural Sciences
By: Ziv Ben-EliahuBy: Ziv Ben-EliahuSupervisor: Michael ElhadadSupervisor: Michael Elhadad
Department of Computer ScienceDepartment of Computer ScienceBen-Gurion University of the Negev, IsraelBen-Gurion University of the Negev, Israel
Apr 19, 2023 3
Things to comeThings to come IntroductionIntroduction
Exceptions in business processesExceptions in business processes Our contribution: elicit potential exceptions at Our contribution: elicit potential exceptions at
modeling timemodeling time
-------------------------------------------------------------------------- Previous workPrevious work
Formal methods for verification, runtime Formal methods for verification, runtime analysis.analysis.
Our approachOur approach Use semantic and structural information to infer Use semantic and structural information to infer
potential exceptions modeling time.potential exceptions modeling time. Empirical EvaluationEmpirical Evaluation
Dataset, usability experimentDataset, usability experiment ConclusionsConclusions
Apr 19, 2023 4
IntroductionIntroduction
Process execution may failProcess execution may fail Identifying potential problems Identifying potential problems
as early as possible is criticalas early as possible is critical EngineeringEngineering ApplicationsApplications ProductionsProductions Business processesBusiness processes
Define Define problemsproblems: any deviations : any deviations from the normal flowfrom the normal flow
Apr 19, 2023 5
IntroductionIntroduction
2 aspects considered:2 aspects considered: how to identify exceptionshow to identify exceptions how to handle exceptionshow to handle exceptions
enforce handlingenforce handling
applied to Business Process applied to Business Process Models (and BPMN specifically)Models (and BPMN specifically)
Apr 19, 2023 6
Introduction: BPMNIntroduction: BPMN
Apr 19, 2023 7
To make a long story shortTo make a long story short
Before
Apr 19, 2023 8
To make a long story shortTo make a long story short
Business analysts seldom use Business analysts seldom use Exception FlowException Flow Empirical review of 302 BPDs – we Empirical review of 302 BPDs – we
found only 3% with exceptions.found only 3% with exceptions.
To encourage them:To encourage them:
add add intuitiveintuitive semantic data semantic data infer less intuitive exception datainfer less intuitive exception data verify handlingverify handling
Apr 19, 2023 9
To make a long story shortTo make a long story short
After (our contribution)
Apr 19, 2023 10
Our ContributionOur Contribution
Intervene during modeling, in an intuitive Intervene during modeling, in an intuitive and non-intrusive mannerand non-intrusive manner
Remind the business analyst he should pay Remind the business analyst he should pay attention to errorsattention to errors
Do not deal with handling strategies (how Do not deal with handling strategies (how to organize compensation)to organize compensation)
Do not want too many “false alarms”Do not want too many “false alarms” Do want to catch as many correct errors as Do want to catch as many correct errors as
possiblepossible Key issue we address: what knowledge on Key issue we address: what knowledge on
the activity and the process is helpful to the activity and the process is helpful to raise such warningsraise such warnings
Apr 19, 2023 11
To make a long story longTo make a long story long
BackgroundBackground Related work: handling, verifyRelated work: handling, verify IDE as motivation (intuitive)IDE as motivation (intuitive)
Early detection of exceptions: Early detection of exceptions: handling exceptions at modeling handling exceptions at modeling time.time.
Semantic activity classification Semantic activity classification to infer potential exceptions.to infer potential exceptions.
Empirical EvaluationEmpirical Evaluation
Apr 19, 2023 12
Background: Exceptions in BPMBackground: Exceptions in BPM
[Bonatti[Bonatti et al. et al.04] chooses optimal web 04] chooses optimal web service – failure handled by service – failure handled by automatically replacing service by automatically replacing service by another equivalent one.another equivalent one.
[Shang[Shang et al. et al.07] collaborative exception 07] collaborative exception handling platform proposes handling handling platform proposes handling strategies (at failures)strategies (at failures)
[Adams 07] records handling [Adams 07] records handling decisions, attempts to re-use, and decisions, attempts to re-use, and reverse-engineer into modelreverse-engineer into model
Handling exceptions at execution time
Apr 19, 2023 13
Verification of BPEL/ECAVerification of BPEL/ECA
[Fu[Fu et al. et al.04] WSAT: analyzes web 04] WSAT: analyzes web services composition using model-services composition using model-based formal methods.based formal methods.
[Bry[Bry et al. et al.06] realizing business 06] realizing business processes with Event-Condition-processes with Event-Condition-Action rules (instead of BPEL) with Action rules (instead of BPEL) with datalog-like verification.datalog-like verification.
[Casati[Casati et al. et al.99] suggests ECA-Patterns 99] suggests ECA-Patterns to the design of exceptionsto the design of exceptions
Verification of exception handling in execution
languages
Apr 19, 2023 14
Verification of BPMNVerification of BPMN
[Dijkman[Dijkman et al. et al.08] transform BPMN to Petri-08] transform BPMN to Petri-Nets then uses Petri-net analysis for Nets then uses Petri-net analysis for verificationverification
[Wong[Wong et al. et al.07] propose a CSP-based 07] propose a CSP-based semantics of BPMN to allow model semantics of BPMN to allow model analysis including exception handlinganalysis including exception handling
Verification at modeling time
Apr 19, 2023 15
Exception handling in WFException handling in WF
[Russell[Russell et al. et al.06] (a) graphical lang. for exception 06] (a) graphical lang. for exception handling, (b) handling patterns per exceptionhandling, (b) handling patterns per exception
[Song[Song et al. et al.03] (a) exception specification in 03] (a) exception specification in workflow definition, (b) an exception workflow definition, (b) an exception handling mechanismhandling mechanism
[Eder[Eder et al. et al.95] specify whether special tasks are 95] specify whether special tasks are essentialessential and whether there are and whether there are compensationcompensation
Handling exceptions at modeling time in other
workflow language
Apr 19, 2023 16
Our approachOur approach
Identify exceptions at Identify exceptions at modeling timemodeling time. . Many focus on runtime.Many focus on runtime.
Current verification handles only explicit Current verification handles only explicit exception. We elicit implicit exceptions.exception. We elicit implicit exceptions.
Verification of exceptions requires Verification of exceptions requires extending BPMN specifications.extending BPMN specifications.
An intuitive method for a business An intuitive method for a business analyst should involve business analyst should involve business semanticssemantics
Except [Adams], we did not find Except [Adams], we did not find evaluations of system usabilityevaluations of system usability
Apr 19, 2023 17
A better way to handle A better way to handle exceptions…exceptions…
Many programming languages require handlers Many programming languages require handlers at compilation time (Java, ADA…)at compilation time (Java, ADA…)
Exception handling at design time
IDE is our motivation
Why BPMNWhy BPMN
BPMN is the standard de-factoBPMN is the standard de-facto Capture models of business activity Capture models of business activity
in an explicit formin an explicit form Model description can be approved Model description can be approved
by all stakeholders (balancing by all stakeholders (balancing expressivity and readability).expressivity and readability).
Model description can serve as Model description can serve as abstract specification of executable abstract specification of executable process.process.
Apr 19, 2023 18
Why ProseroWhy Prosero
Models in the repository are Models in the repository are annotated with semantic meta-annotated with semantic meta-data, for the matching data, for the matching procedureprocedure
Future version could:Future version could: Use the repository data to infer on Use the repository data to infer on
local semanticslocal semantics Use the local semantics for the Use the local semantics for the
matching procedurematching procedure 19Apr 19, 2023
Apr 19, 2023 20
Background - summaryBackground - summary
It is important for BPDs to be It is important for BPDs to be as close to reality as possible; as close to reality as possible; including exception handling.including exception handling.
““Exception” in broader terms.Exception” in broader terms. We reviewed several methods We reviewed several methods
to add semantic metadata to a to add semantic metadata to a BPD. But few methods are as BPD. But few methods are as intuitive as IDEs, and those do intuitive as IDEs, and those do not support BPMN.not support BPMN.
Apr 19, 2023 21
Objectives: early detectionObjectives: early detection
1)1) How do we prevent the How do we prevent the business analyst from missing business analyst from missing possible exceptions, but possible exceptions, but without interrupting his work without interrupting his work on the happy path?on the happy path?
2)2) How can we help the business How can we help the business analyst decide which exception analyst decide which exception an Activity might throw?an Activity might throw?
Apr 19, 2023 22
SolutionSolution
1)1) Extend BPMN ActivityExtend BPMN Activity ErrorsErrors HandlersHandlers ParametersParameters
2)2) Offer recommendationOffer recommendation ClassificationsClassifications ExceptionsExceptions Inference Relations (Inference Relations ())
We constructed generic listsWe constructed generic lists
<<elementselements xsi:type="bpmn:Task" xsi:type="bpmn:Task"
name="Don't Worry">name="Don't Worry">
<<eventHandlereventHandler
Trigger="Error" Trigger="Error"
name="IsWorried" />name="IsWorried" />
<<errorserrors name="IsWorried" /> name="IsWorried" />
<<errors errors name="Timeout" /> name="Timeout" />
</elements></elements>
o Perform action Perform action Action failed Action failedo Complex action Complex action Timeout Timeouto Send Send Send rejected Send rejectedo Receive Receive Receive rejected Receive rejectedo Query Query Query failed Query failedo Update Update Update rejected Update rejected
Infer Potential Errors from Infer Potential Errors from Semantic DataSemantic Data
When semantic parameters of When semantic parameters of construct are known, one can construct are known, one can infer potential errors.infer potential errors.
1.1. Activity is SendActivity is Send
2.2. Activity requires authenticationActivity requires authentication
1.1. Authentication failsAuthentication fails
2.2. Send failsSend fails
3.3. Send rejectedSend rejectedApr 19, 2023 23
Apr 19, 2023 24
Define ConstructsDefine Constructs
Define construct as:Define construct as:- ActivityActivity- Semantic classSemantic class- ExceptionsExceptions
Functional classes:Functional classes: Internal-ActivityInternal-Activity Send-ReceiveSend-Receive Receive-Process-Receive-Process-
ReplyReply
Apr 19, 2023 25
Define TemplatesDefine Templates
Our semantic parameters can be associated Our semantic parameters can be associated with an abstract sub-process (Update, Notif…)with an abstract sub-process (Update, Notif…)
Apr 19, 2023 26
Template InstantiationTemplate Instantiation
The abstract pattern, from the RMR, is The abstract pattern, from the RMR, is instantiated into the CMRinstantiated into the CMR
HypothesisHypothesis
Use of semantically annotated Use of semantically annotated constructs and patterns at constructs and patterns at modeling time will:modeling time will:
Detect early potential errorsDetect early potential errors Remain usable by analystsRemain usable by analysts
Small time increaseSmall time increase High quality increaseHigh quality increase
More benefit for complex More benefit for complex processesprocesses
Apr 19, 2023 27
MethodologyMethodology
Collect dataset: 11 process Collect dataset: 11 process models of various complexities.models of various complexities.
Analyze error handling in Analyze error handling in dataset.dataset.
Re-model processes using Re-model processes using implemented BPMN modeling implemented BPMN modeling tool (Prosero).tool (Prosero).
Measure usability parametersMeasure usability parameters Measure quality of resulting Measure quality of resulting
models.models.Apr 19, 2023 28
Apr 19, 2023 29
EEvaluationvaluation
ComplexityComplexity Business ProcessBusiness Process
SimpleSimpleDeliver item, Return goods, Deliver item, Return goods, Issue creditIssue credit
MediumMediumReceive returned goods, Receive returned goods, Perform disposition, Perform disposition, Administer return requestAdminister return request
ComplexComplexUpdate return, Approve Update return, Approve return, HR Hiring, Software return, HR Hiring, Software defect management, Software defect management, Software release productrelease product
ResultsResults
Apr 19, 2023 30
Comple-xity level Source REC% ACC% PRE% Time
Simple origin. 16.67 55.6 33.3 5:36
enhan. 50.0 58.3 38.9 7:14
Medium origin. 50.0 84.1 66.6 5:59
enhan. 83.3 82.1 66.7 9:55
Complex origin. 16.89 64.5 50.0 14:23
enhan. 54.1 73.1 50.0 17:31
Apr 19, 2023 31
Comple-xity level Source REC% ACC% PRE% Time
Simple origin. 16.67 55.6 33.3 5:36
enhan. 50.0 58.3 38.9 7:14
Medium origin. 50.0 84.1 66.6 5:59
enhan. 83.3 82.1 66.7 9:55
Complex origin. 16.89 64.5 50.0 14:23
enhan. 54.1 73.1 50.0 17:31
Added exceptionShould have added
Correct exceptionsAll exception added
Appropriate choices
Apr 19, 2023 32
Complexity metricsComplexity metrics
Apr 19, 2023 33
ConclusionsConclusions
We provide an important feature We provide an important feature for business analysts: suggest for business analysts: suggest suitable exceptions.suitable exceptions.
Empirical evaluation proved Empirical evaluation proved value of the toolvalue of the tool Stakeholders receive a more Stakeholders receive a more
accurate and robust business accurate and robust business processprocess
Future WorkFuture Work
Open issues:Open issues: Where does the semantic classification Where does the semantic classification
come from? (employ heuristics)come from? (employ heuristics) Must be coordinated with a Business Must be coordinated with a Business
Repository system (Prosero).Repository system (Prosero). Usability is critical – should be improved Usability is critical – should be improved
(GUI: icons, perspectives).(GUI: icons, perspectives). Feedback from runtime can provide Feedback from runtime can provide
valuable data on possible exceptions valuable data on possible exceptions (Learning).(Learning).
Apr 19, 2023 34
Feedback responseFeedback response Contribution in introductionContribution in introduction Related workRelated work Why Prosero – values semanticsWhy Prosero – values semantics Use Prosero RMR – future impl.Use Prosero RMR – future impl. Schema changes ramification – Schema changes ramification –
shorter OCL and XSL. shorter OCL and XSL. Unclear solution – “To recommend Unclear solution – “To recommend
and enforce”. See demo.and enforce”. See demo. Experiment participant – me.my.mi.Experiment participant – me.my.mi. Writing style – see paper.Writing style – see paper.
Apr 19, 2023 35
Apr 19, 2023 36
The End (Event)The End (Event)Any failures?Any failures?
ResultsResults
Apr 19, 2023 37
Comple-xity level Source REC% ACC% PRE% F-M% Time
Simple origin. 16.67 55.6 33.3 22.2 5:36
enhan. 50.0 58.3 38.9 43.8 7:14
Medium origin. 50.0 84.1 66.6 57.1 5:59
enhan. 83.3 82.1 66.7 74.1 9:55
Complex origin. 16.89 64.5 50.0 25.3 14:23
enhan. 54.1 73.1 50.0 52.0 17:31
Apr 19, 2023 38
ResultsResults
Recall = (TP) / (TP + FN)Recall = (TP) / (TP + FN) Accuracy = (TP + TN) / (TP + TN Accuracy = (TP + TN) / (TP + TN
+ FP + FN)+ FP + FN) Precision = (TP) / (TP + FP)Precision = (TP) / (TP + FP) F-measure = (2 * Precision * F-measure = (2 * Precision *
Recall) / (Precision + Recall)Recall) / (Precision + Recall)