Choreography description languages specify interactions among a set of services from a global point of view. From this description, it is possible to generate either an orchestrator (centralized interactions), or a set of peers or wrappers (distributed interactions). In this paper, we present first a model of service protocols with value passing, and an abstract choreography language to describe their composition and adaptation. Adaptation is useful while composing services to correct existing mismatches which might exist between their interfaces. Given abstract descriptions of services and their choreography, we propose techniques based on encodings into process algebra to generate an orchestrator and a set of wrapper protocols. Generation of wrappers is particularly tackled in this paper because this enables the system deployment in the context of distributed systems, and keeps at the same time a full parallelism of the system execution. Our approach is completely automated by a prototype tool we implemented.
['Gwen Salaün']
Generation of Service Wrapper Protocols from Choreography Specifications