Section: New Results

Service orchestration and choreography

Participants : Mila Dalla Preda, Maurizio Gabbrielli, Claudio Guidi, Ivan Lanese, Jacopo Mauro, Fabrizio Montesi, Marco Pistore, Gianluigi Zavattaro.

Orchestration has to do with the definition of services that should obey given behaviours. The services may be realised by composing services already available. Orchestration is often discussed in relationship with “choreography”, which refers to global descriptions of the intended behaviour of a system of components, stating the role of each participant and the set of coordination requirements.

In [55] we have studied the basic linguistic constructs and a reference implementation for aggregation, a mechanism for composing services that abstracts from the order of their communications. Aggregation is widely used in practice. However, since it is not natively supported by service-oriented languages, it is mostly implemented by means of ad-hoc solutions which typically exploit middleware technology.

A critical aspect for pervasive computing is the possibility to discover and use process knowledge at run time depending on the specific context. This can be achieved by using an underlying service-based application and exploiting its features in terms of dynamic service discovery, selection, and composition. Pervasive process fragments represent a service-based tool that allows to model incomplete and contextual knowledge. In [40] we provide a solution to automatically compose such fragments into complete processes, according to a specific context and specific goals. We compute the solution by encoding process knowledge, domain knowledge and goals into an AI planning problem.

Concerning choreography languages, two main approaches have been followed in their design: the interaction-oriented approach at the basis of WS-CDL and the process-oriented approach of BPEL4Chor. In [52] we investigate the relationships between the two approaches In particular, we point out several possible interpretations for interaction-oriented choreographies: one synchronous and various asynchronous. Under each of these possible interpretations we characterize the class of interaction-oriented choreographies which have a direct process-oriented counterpart, and we formalize the corresponding notion of equivalence between the initial interaction-oriented choreography and the corresponding process-oriented counterpart.

In [50] we study the issue of checking a multiparty choreography against formal protocol specifications, and then projecting it onto a description of the individual service orchestrators. Contributions are also the definition of a multiparty choreography model, and the correctness proof for the projection.