the original choreography. To perform the consoli-
dation, we distinguished three instantiation scenarios
for the multi-instance processes. In static instanti-
ation scenarios, the number of instances can be de-
termined during the consolidation. To emulate the
static multi-instance scenarios, for each possible in-
stance, a separate container containing activities of
the multi-instance process is created within the con-
solidated process. In dynamic instantiation scenarios,
the number of instances cannot be determined during
the consolidation. To emulate this scenario, the ac-
tivities of multi-instance processes are copied into a
parallel forEach loop whose number of iterations is
determined during runtime. Each branch of this loop
emulates one instance of the multi-instance process.
The control flow materialization may create control
links from the message links that cross the boundaries
of the forEach loop what is not permitted in BPEL. To
resolve these violations we proposed a technique to
sequentially split the forEach loop into different frag-
ments. We also discussed how the data flow within the
consolidated process model has to be modified to store
and access multiple instances of the same variable.
Currently, we do only support consolidation of
multi-instance processes that are instantiated by an
instance creating activity that resides in a forEach loop.
In the future also the consolidation of multi-instance
processes is supported that are instantiated from within
nested and condition-controlled loops such as while
loops.
Reference passing is an additional major aspect
of multi-instance interactions, e. g., the travel agency
could pass the endpoints of the three cheapest airlines
to a traveler process who then decides by itself what
airline is booked. Our approach has to be extended
accordingly to support these interaction scenarios as
they are very common in the context of multi-instance
processes. We also have to discuss more in depth how
BPEL’s compensation handling mechanism is affected
by the split of a single forEach into different fragments.
As shown by Wagner et al. (Wagner et al., 2013b),
the execution time and performance overhead of a
choreography execution can be significantly reduced
if its processes are consolidated into a single process
model, because message serialization, message trans-
port, and message de-serialization is avoided. In fu-
ture work, we have to analyze the performance dif-
ferences between consolidated process models that
emulate multi-instance processes and their original
choreography.
As BPMN becomes more and more important and
since it shares a lot of concepts and language con-
structs with BPEL and BPEL4Chor, we have to inves-
tigate how our consolidation approach can be applied
to merge BPMN collaboration diagrams.
ACKNOWLEDGEMENTS
This work was partially funded by the BMWi project
Migrate! (01ME11055) and the BMWi project Cloud-
Cycle (01MD11023).
REFERENCES
Aalst, W. M. P. v. d., Lohmann, N., Massuthe, P., Stahl,
C., and Wolf, K. (2008). Multiparty contracts: Agree-
ing and implementing interorganizational processes.
Comput. J., 53(1):90–106.
Barros, A., Decker, G., Dumas, M., and Weber, F. (2007).
Correlation patterns in service-oriented architectures.
In FASE, volume 4422. Springer.
Barros, A., Dumas, M., and ter Hofstede, A. (2005). Service
Interaction Patterns. In BPM. Springer.
B
¨
orger, E. (2012). Approaches to modeling business pro-
cesses: a critical analysis of bpmn, workflow patterns
and yawl. Softw. Syst. Model., 11(3):305–318.
Dadashov, E. (2013). Choreography-based Business Process
Consolidation in One-To-Many interactions. Master
thesis, University of Stuttgart, Faculty of Computer
Science, Electrical Engineering, and Information Tech-
nology, Germany.
Debicki, P. (2013). Choreographie-basierte Konsoliedierung
von BPEL Prozessmodellen. Diploma thesis, Univer-
sity of Stuttgart, Faculty of Computer Science, Elec-
trical Engineering, and Information Technology, Ger-
many.
Decker, G., Kopp, O., and Barros, A. (2008). An Introduc-
tion to Service Choreographies. Information Technol-
ogy, 50(2):122–127.
Decker, G., Kopp, O., Leymann, F., and Weske, M. (2009).
Interacting services: From specification to execution.
Data & Knowledge Engineering, 68(10):946–972.
DeRemer, F. and Kron, H. (1976). Programming-in-the-large
versus programming-in-the-small. Software Engineer-
ing, IEEE Transactions on, SE-2(2):80 – 86.
Hull, R., Damaggio, E., Fournier, F., Gupta, M., Heath,
F. T., Hobson, S., Linehan, M., Maradugu, S., Nigam,
A., Sukaviriya, P., et al. (2011). Introducing the guard-
stage-milestone approach for specifying business entity
lifecycles. In 7
th
International Workshop, WS-FM
2010, LNCS. Springer-Verlag.
Khalaf, R. and Leymann, F. (2006). Role-based Decomposi-
tion of Business Processes using BPEL. In ICWS 2006.
IEEE.
Khalaf, R. and Leymann, F. (2010). Coordination for Frag-
mented Loops and Scopes in a Distributed Business
Process. In BPM. Springer.
Kopp, O., Eberle, H., Leymann, F., and Unger, T. (2010).
The Subprocess Spectrum. In Proceedings of the
Business Process and Services Computing Conference:
BPSC 2010. GI e.V.
Choreography-basedConsolidationofMulti-instanceBPELProcesses
297