design time validation for the correct execution of bpmn collaborations
TRANSCRIPT
Design Time Validation for the Correct Execution of BPMN Collaborations
JonasAnseeuw,[email protected]
BPaaS (Business Process as a Service) – a novel cloud paradigm
BPaaSintegrate
SaaSconsume
PaaSbuild
IaaShost
BPaaS – extending SaaS with BPO
• BPO:BusinessProcessOutsourcing
• ExamplesofBPO:HR,accounEng,billing,customersupport,businessoperaEons,…
Example: from document management services to billing process as a service
Example: simulation workflow as a service
Outsourced process (SaaS)
On premise, in-house processes
Computational service
Outsourced service (SaaS)
Virtual Test Process
Design Process
Design data Product data Simulation data
Engineering Teams
execute
results
On premise, in-house processes
Virtual Test
Process
Design Process
Design data Product data Simulation data
Engineering Teams
execute
results
BPO
Workflow data
Computational service
update
launch
update
launch
Workflow as a Service
Simulation Workflow
BPO results in decentralized business process flows
Company A
Company CCompany B
How to ensure correct execution of the different interactions in a decentralized workflow without central coordinator?
Validation algorithm will check at design time if the execution will be conform the model
Model ExecuEon
What comes next?
1. Usecase2. ModelingofusecaseinBPMN3. ThevalidaEonalgorithm
Use case: simulation
CompanyA CompanyB
Productteam
Engineeringteam
SimulaEonWFasaservice
Use case: simulation
Productteam
Engineeringteam
SimulaEon
1.Setup
2.NoEfy
3.Input
4.Validate
5.Start
6.Results
How to model decentralized workflows?
• BPEL(BusinessProcessExecuEonLanguage)• BPMN(BusinessProcessModelandNotaEon)• WS-CDL(WebServiceChoreographyDescripEonLanguage)• …
=>BPMNoffersagraphicalnotaEonandisacommonusedstandard
Setup NoEfy Start Result
IniEate Step1 Step2 Start Finish
Evaluate Input Validate
Product
Simulation
Engineering
Use case modeled in BPMN
Setup NoEfy Start Result
IniEate Step1 Step2 Start Finish
Evaluate Input Validate
Product
Simulation
Engineering
Use case modeled in BPMN
Setup NoEfy Start Result
IniEate Start Finish
Evaluate Input Validate
Product
Simulation
Engineering
Use case modeled in BPMN
Step1 StepnStep..
NoEficaEon
Status
Setup NoEfy Start Result
IniEate Step1 Stepn Start Finish
Evaluate
Product
Simulation
Engineering
Step..
NoEficaEon
Status
Use case modeled in BPMN
Input
Validate
Setup NoEfy Start Result
IniEate Step1 Stepn Start Finish
Evaluate
Product
Simulation
Engineering
Step..
NoEficaEon
Status
Use case modeled in BPMN
Input
Validate
Setup NoEfy Start Result
IniEate Step1 Stepn Start Finish
Evaluate
Product
Simulation
Engineering
Step..
NoEficaEon
Status
Input
Validate
Will the execution be conform the model?
Model ExecuEon
Setup NoEfy Start Result
IniEate Step1 Stepn Start Finish
Evaluate
Input
Validate
Product
Simulation
Engineering
Step..
NoEficaEon
Status
This BPMN model contains 5 ambiguities!
1
2
3 4
5
Validation Algorithm
§ AlgorithmoriginallyusedforWS-CDL(VanSeghbroeck,2011),butadaptedforBPMN
§ TimeVectors§ ImplementedinEclipseBPMN2modeler
Time Vectors
Setup NoEfy Start Result
IniEate Step1 Stepn Start Finish
Evaluate
Input
Validate
Product
Simulation
Engineering
Step..
NoEficaEon
Status
How the algorithm works
1
2
3 4
5
Setup NoEfy Start Result
IniEate Step1 Stepn Start Finish
Evaluate
Input
Validate
Product
Simulation
Engineering
Step..
NoEficaEon
Status4
Exception 4
Setup NoEfy Start Result
IniEate Step1 Stepn Start Finish
Evaluate
Input
Validate
Product
Simulation
Engineering
Step..
NoEficaEon
Status
Exception
4
4
NoEficaEon
Status
NoEficaEon
Scenario1
Scenario2
Status
Setup NoEfy Start Result
IniEate Step1 Stepn Start Finish
Evaluate
Input
Validate
Product
Simulation
Engineering
Step..
NoEficaEon
Status
Possible solution for Exception 4
(1,0,0) (2,0,0) Start Result
(1,1,0) (2,2,1[1,0]) Stepn Start Finish
(2,0,1)
(2,0,1[1,0])
Validate
Product
Simulation
Engineering
Step..
NoEficaEon
Status
Exception : message order 1
1
Setup NoEfy
IniEate
Step1
Evaluate
Input
(3,2,0) Start Result
(3,3,1[1,0]) Stepn Start Finish
(3,2,1)
(3,2,1[1,0])
Validate
Product
Simulation
Engineering
..
NoEficaEon
Status
Possible solution for Exception 1
Start Result
(3,3,1[1,0]) (3,5,1[1,0]) Start Finish
(3,2,1[1,0])
(3,5,1[1,2])
Product
Simulation
Engineering
..
NoEficaEon
Status
Exception : parallel order 2
2
Step1 Stepn
Start Result
(3,3,2) (3,5,2) Start Finish
(3,2,2) (3,5,3)
Product
Simulation
Engineering
..
NoEficaEon
Status
Possible solution for Exception 2
(4,2,0) Result
(3,3,2) (3,5,2) (3,6,2) Finish
Product
Simulation
Engineering
..
NoEficaEon
Status
Exception : message order 3
3
StartNoEfy
Start
(5,6,4) Result
(5,6,4) Finish
(3,5,3)
Product
Simulation
Engineering
NoEficaEon
Status
(3,5,4)
(4,5,4)
Possible solution for Exception 3
NoEfy
NoEficaEon Start
Start
NoEfy Start (7,8,4)
1 n Start (5,8,4)
Evaluate Input Validate
Product
Simulation
Engineering
..
(6,7,4)
(5,7,4)
NoEfy
Exception 55
Status Result
NoEficaEon
NoEfy Start (8,9,4)
1 n Start (7,9,4)
Evaluate Input Validate
Product
Simulation
Engineering
..
NoEfy
Solution for Exception 5
(6,7,4)
(5,7,4)
(7,7,4)
(7,8,4)
NoEficaEon
NoEfy Result
Result
NoEfy Result
1 n Finish
Evaluate Input Validate
Product
Simulation
Engineering
..
NoEfy
Properly validated BPMN model
NoEficaEon
Status
Takeaway points
• BPOresultsindecentralizedworkflows• DecentralizedworkflowscanbemodeledinBPMN
• ThecorrectexecuEonofBPMNCollaboraEonscanbevalidatedduringdesignEme
Result
JonasAnseeuw,[email protected]