Loop unrolling and merging is widely discussed
in the area of compiler theory (Muchnick, 1997), es-
pecially, for optimizing parallel or embedded sys-
tems (Qian et al., 2002). Similar to our approach, in
these works also loop conditions have to be combined
and data analysis has to be performed to determine if
a loop can be unrolled or merged (Darte, 1999). In
contrast to our approach loop unrolling and merging
in this context is employed for optimizing the runtime
of short running programs in embedded systems and
the language constraints of a programming language
are different from those of a workflow language.
Kiepuszewski et al. (Kiepuszewski et al., 2013)
also discuss activity and graph-based loops. How-
ever, in their work they focus on the transformation of
graph-based loops into activity-based loops to struc-
ture unstructured workflows.
We investigated how cross-boundary link vio-
lations can be solved in parallel BPEL
forEach
loops (Wagner et al., 2014). But there we neither con-
sidered sequential
forEach
activities nor other BPEL
loop types and the approach described there focuses
only on BPEL workflows.
7 CONCLUSION AND OUTLOOK
In this work we extended the existing approach to
support the automatic consolidation of processes inter-
acting via activity-based loops. The focus was turned
on activity-based loops, as the boundaries of these
loops must not be crossed by the control links created
by the control-flow materialization. To be universally
applicable, the patterns for merging the loops were
described independently of a concrete workflow lan-
guage and different types of loops were considered
that might be supported by a workflow language. All
merge patterns keep the originally modeled execution
order between the basic activities of the processes to be
merged. However, when two dynamic activity-based
loops are merged (pattern 3), additional control flow
constraints are implicitly added to the merged pro-
cess. The new constraints adhere to execution order
defined the choreography but they may increase the
time until a business outcome is reached. Hence, if the
workflow language supports graph-based loops, inter-
acting dynamic activity-based loops should be always
transformed to graph-based structured loops. This also
prevents the resulting process from getting too compli-
cated in terms of number of activities and links (e. g.,
if loop unrolling is performed).
We also discussed the applicability of the patterns
to the executable workflow language BPEL. As BPEL
has a different control flow semantics compared to
the workflow meta-model, we used to describe the
patterns, the loop unrolling pattern had to be restricted
in order to avoid deadlocks in BPEL processes.
In future works we have to investigate how to solve
the link violations for activity-based loops interacting
with activities in an acyclic graph. We also have to
discuss how nested activity-based loops have to be
treated. This includes the description of a formal algo-
rithm that applies the patterns to activity-based loops
interacting with several (nested) loops.
ACKNOWLEDGEMENTS
This work was partially funded by the BMBF project
ECHO (01XZ13023G) and the BMWi project NE-
MAR (03ET40188).
REFERENCES
Dadashov, E. (2013). Choreography-based Business Process
Consolidation in One-To-Many interactions. Master
thesis, University of Stuttgart.
Darte, A. (1999). On the complexity of loop fusion. In Par-
allel Architectures and Compilation Techniques, 1999.
Proceedings. 1999 International Conference on, pages
149–157.
Decker, G., Kopp, O., Leymann, F., and Weske, M. (2009).
Interacting services: From specification to execution.
Data & Knowledge Engineering, 68(10):946–972.
Heinze, T., Amme, W., and Moser, S. (2012). Control flow
unfolding of workflow graphs using predicate analysis
and SMT solving. In ZEUS.
Kiepuszewski, B., ter Hofstede, A. H. M., and Bussler, C.
(2013). On structured workflow modelling. In Semi-
nal Contributions to Information Systems Engineering,
pages 241–255.
Koehler, J., Hauser, R., Sendall, S., and Wahler, M. (2005).
Declarative techniques for model-driven business pro-
cess integration. IBM Systems Journal, 44(1):47–65.
Kopp, O., Khalaf, R., and Leymann, F. (2008). Deriving Ex-
plicit Data Links in WS-BPEL Processes. In IEEE In-
ternational Conference on Services Computing. IEEE.
K
¨
uster, J., Gerth, C., F
¨
orster, A., and Engels, G. (2008). A
tool for process merging in business-driven develop-
ment. In Proceedings of the Forum at the CAiSE.
Mendling, J. and Simon, C. (2006). Business process design
by view integration. In BPM Workshops. Springer.
Muchnick, S. (1997). Advanced Compiler Design and Im-
plementation. Morgan Kaufmann.
Ng, A., Chen, S., and Greenfield, P. (2004). An Evaluation
of Contemporary Commercial SOAP Implementations.
In AWSA.
OASIS (2007). Web Services Business Process Execution
Language Version 2.0 – OASIS Standard.
Choreography-basedConsolidationofInteractingProcessesHavingActivity-basedLoops
295