Cloud-based Software-as-a-Service (SaaS) providers want to grow into the space of business process outsourc-ing (BPO). BPO refers to the systematic and controlled delegation of many steps of a company’s business pro-cess. BPO is a new and important extension to SaaS, as it allows the provider to add more value in the onlineapplication services and as it enables the outsourcer to obtain more cost efficiency. BPO results in decen-tralized federated workflows. To describe these workflows, companies often use business process modelinglanguages. Currently, Business Process Modeling Notation (BPMN) is one of the best-known standards. It iscrucial to ascertain that the modeled workflow is executed as intended. Errors that happen during executionof a federated workflow can come with huge costs. Validating the model is limited to syntactical checks andthere is little support for validating the execution at design time. In this paper a method is presented to validatethe correct execution of BPMN 2.0 Collaborations. The methods in this research use concepts from virtualtime previously described for Web Services Choreography Description Language (WS-CDL). To validate theresults of this research, the Eclipse BPMN modeler was extended with an implementation of the validationmethod.
Design Time Validation for the Correct Execution of BPMN Collaborations
1. Design Time Validation for
the Correct Execution of
BPMN Collaborations
Jonas Anseeuw, et al.
jonas.anseeuw@intec.ugent.be
2. BPaaS (Business Process as a Service)
– a novel cloud paradigm
BPaaS
integrate
SaaS
consume
PaaS
build
IaaS
host
3. BPaaS – extending SaaS with BPO
• BPO: Business Process
Outsourcing
• Examples of BPO: HR,
accounEng, billing, customer
support, business operaEons,…
5. 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
6. BPO results in decentralized business
process flows
Company A
Company C Company B
7. How to ensure correct execution of the different
interactions in a decentralized workflow without central
coordinator?
8. Validation algorithm will check at design time
if the execution will be conform the model
Model ExecuEon
9. What comes next?
1. Use case
2. Modeling of use case in BPMN
3. The validaEon algorithm
12. How to model decentralized workflows?
• BPEL (Business Process ExecuEon Language)
• BPMN (Business Process Model and NotaEon)
• WS-CDL (Web Service Choreography DescripEon Language)
• …
=> BPMN offers a graphical notaEon and is a common used standard
13. Setup NoEfy Start Result
IniEate Step 1 Step 2 Start Finish
Evaluate Input Validate
ProductSimulationEngineering
Use case modeled in BPMN
14. Setup NoEfy Start Result
IniEate Step 1 Step 2 Start Finish
Evaluate Input Validate
ProductSimulationEngineering
Use case modeled in BPMN
15. Setup NoEfy Start Result
IniEate Start Finish
Evaluate Input Validate
ProductSimulationEngineering
Use case modeled in BPMN
Step 1 Step n Step ..
NoEficaEon
Status
16. Setup NoEfy Start Result
IniEate Step 1 Step n Start Finish
Evaluate
ProductSimulationEngineering
Step ..
NoEficaEon
Status
Use case modeled in BPMN
Input
Validate
17. Setup NoEfy Start Result
IniEate Step 1 Step n Start Finish
Evaluate
ProductSimulationEngineering
Step ..
NoEficaEon
Status
Use case modeled in BPMN
Input
Validate
18. Setup NoEfy Start Result
IniEate Step 1 Step n Start Finish
Evaluate
ProductSimulationEngineering
Step ..
NoEficaEon
Status
Input
Validate
Will the execution be conform the model?
Model ExecuEon
19. Setup NoEfy Start Result
IniEate Step 1 Step n Start Finish
Evaluate
Input
Validate
ProductSimulationEngineering
Step ..
NoEficaEon
Status
This BPMN model contains 5 ambiguities!
1
2
3 4
5
22. Setup NoEfy Start Result
IniEate Step 1 Step n Start Finish
Evaluate
Input
Validate
ProductSimulationEngineering
Step ..
NoEficaEon
Status
How the algorithm works
1
2
3 4
5
23. Setup NoEfy Start Result
IniEate Step 1 Step n Start Finish
Evaluate
Input
Validate
ProductSimulationEngineering
Step ..
NoEficaEon
Status
4
Exception 4
24. Setup NoEfy Start Result
IniEate Step 1 Step n Start Finish
Evaluate
Input
Validate
ProductSimulationEngineering
Step ..
NoEficaEon
Status
Exception
4
4
NoEficaEon
Status
NoEficaEon
Scenario 1
Scenario 2
Status
25. Setup NoEfy Start Result
IniEate Step 1 Step n Start Finish
Evaluate
Input
Validate
ProductSimulationEngineering
Step ..
NoEficaEon
Status
Possible solution for Exception 4
27. (3,2,0) Start Result
(3,3,1[1,0]) Step n Start Finish
(3,2,1)
(3,2,1[1,0])
Validate
ProductSimulationEngineering
..
NoEficaEon
Status
Possible solution for Exception 1
28. Start Result
(3,3,1[1,0]) (3,5,1[1,0]) Start Finish
(3,2,1[1,0])
(3,5,1[1,2])
ProductSimulationEngineering
..
NoEficaEon
Status
Exception : parallel order2
2
Step 1 Step n
29. Start Result
(3,3,2) (3,5,2) Start Finish
(3,2,2) (3,5,3)
ProductSimulationEngineering
..
NoEficaEon
Status
Possible solution for Exception 2
30. (4,2,0) Result
(3,3,2) (3,5,2) (3,6,2) Finish
ProductSimulationEngineering
..
NoEficaEon
Status
Exception : message order3
3
Start NoEfy
Start