cation i is created that is subject to all the guard-
ing conditions of the unified instructions (i1...in).
In the second case, invocations (i1..in) have to be
separately executed : a complex invocation (i) is
created by the user who specifies the composition
function. Each basic invocation (i1..in) references
the complex invocation (i). The functions cond
and prec concerning the orchestration remain the
same.
• Unifying complex invocations : This rules consid-
ers the need for a merge when a complex invoca-
tion to a service A, and another invocation (basic
or complex) to the same service A are detected.
The developer must specify the result of the merge
as a new complex invocation that is referenced by
all the merged basic invocations.
• Unifying adapters: When several instructions use
the same adapter with the same input variable, this
rule proposes to the user to unify these instruc-
tions and subsequently also the output variables.
5 CONCLUSION AND
PERSPECTIVES
In this paper we addressed the need to broaden the
applicability of orchestration composition to overlap-
ping orchestrations, which share services or parame-
ters. We demonstrated that traditional black-box com-
position of orchestrations is inappropriate in the case
of overlapping orchestration because it fails to avoid
redundant or erroneous multiple invocations of the
same service. Therefore, programmers facing the task
to combine overlapping orchestrations must currently
perform a tedious and error-prone manual process.
As a remedy, we presented orchestration merg-
ing, an interactive, computer supported process that
guides programmers step-by-step through the integra-
tion task, automating many subtasks. Orchestration
merging identifies potential merge points and gives
programmers a chance to to unify them or mark them
as distinct. If programmers decide to merge, the sys-
tem automates the merging steps. After each trans-
formation it checks the consistency of the orchestra-
tion model and computes remaining merging points.
When errors are detected, developers can undo pre-
ceding merging steps. We believe that our approach
is a contribution to more reliable and easy to evolve
service-oriented systems.
Besides the ongoing implementation of our ap-
proach there are different interesting conceptual ex-
tensions. Continuous evolution of orchestrations by
substitution, addition and deletion of services sug-
gests the need to integrate verification of service com-
patibility (Martens, 2005), substitutability of services
(Camara et al., 2005) and equivalence of services
(Ben Mokhtar et al., 2006).
REFERENCES
Bartoli, A., Jiminez-Peris, R., Kemme, B., Pautasso, C.,
Patarin, S., Wheater, S., and Woodman, S. (2005).
The ADAPT framework for adaptable and compos-
able web services. IEEE Distributed Systems Online,
6(9).
Ben Mokhtar, S., Geogantas, N., and Issarny, V. (2006).
COCOA : Conversation-Based Service Composition
for Pervasive Computing Environments. In IEEE In-
ternational Conference on Pervasive Services (ICPS),
Lyon (France).
Camara, J., Canal, C., Cubo, J., and Vallecillo, A. (2005).
Formalizing WSBPEL Business Processes Using Pro-
cess Algebra. In Foundations of Coordination Lan-
guages and Software Architectures (FOCLASA), San
Francisco (CA). Springer.
Chandran, P. and Poduval, A. (2005). Adding BPEL to the
Enterprise Integration Mix. Technical report, ORA-
CLE.
Kazhamiakin, R., Pistore, M., and Santuari, L. (2006).
Analysis of communication models in web service
compositions. In WWW ’06: Proceedings of the 15th
international conference on World Wide Web, pages
267–276, New York, NY, USA. ACM Press.
Khalaf, R., Mukhi, N., and Weerawarana, S. (2003).
Service-Oriented Composition in BPEL4WS. In In-
ternational World Wide Web Conference (WWW), Bu-
dapest (Hungary). W3C.
Kniesel, G. (2006). A Logic Foundation for Conditional
Program Transformations. Technical report IAI-TR-
2006-01, ISSN 0944-8535, CS Dept. III, University
of Bonn, Germany.
Kniesel, G. and Bardey, U. (2006). An analysis of the cor-
rectness and completeness of aspect weaving. In Pro-
ceedings of Working Conference on Reverse Engineer-
ing 2006 (WCRE 2006, pages 324–333. IEEE.
Kniesel, G. and Koch, H. (2004). Static composition of
refactorings. Science of Computer Programming (Spe-
cial issue on Program Transformation), 52(1-3):9–51.
http://dx.doi.org/10.1016/j.scico.2004.03.002.
MacKenzie, M., Laskey, K., McCabe, F., Brown, P., and
Metz, R. (2006). Reference Model for Service Ori-
ented Architecture 1.0. Technical Report wd-soa-rm-
cd1, OASIS.
Martens, A. (2005). Simulation and equivalence between
bpel process models. In Design, Analysis, and Simu-
lation of Distributed Systems Symposium, San Diego
(California).
Montagnat, J., Glatard, T., and Lingrand, D. (2006). Data
composition patterns in service-based workflows. In
Workshop on Workflows in Support of Large-Scale
Science (WORKS’06), Paris, France.
SEMANTIC ORCHESTRATION MERGING - Towards Composition of Overlapping Orchestrations
383