Choreography Realizability Enforcement through the Automatic Synthesis of Distributed Coordination Delegates

https://doi.org/10.1016/j.scico.2017.10.010Get rights and content
Under an Elsevier user license
open archive

Highlights

  • A method for the automatic realizability enforcement of service choreographies.

  • The method accounts for services communicating synchronously and/or asynchronously.

  • Coordination Delegates are synthesized to mediate the services' interaction.

  • The method is rigorously assessed and the proof of its correctness is also given.

  • The method underlies the R&D work of the EU H2020 CHOReVOLUTION project.

Abstract

In the near future we will be surrounded by a virtually infinite number of software applications that provide services in the digital space. This situation promotes reuse-based software production through composition of existing software services distributed over the Internet. Choreographies are a form of decentralized composition that model the external interaction of the participant services by specifying peer-to-peer message exchanges from a global perspective. When third-party (possibly black-box) services are to be composed, obtaining the distributed coordination logic required to enforce the realizability of the specified choreography is a non-trivial and error prone task. Automatic support is then needed. In this paper, we propose a formal approach to the enforcement of choreography realizability through the automatic synthesis of distributed Coordination Delegates (CDs). CDs are additional software entities with respect to the choreography participants. They are synthesized in order to proxify and control the participant services interaction. When interposed among the services, the synthesized entities enforce the collaboration prescribed by the choreography specification. We state correctness of our synthesis method and illustrate its formalization at work on an explanatory example.

Keywords

Choreography realizability
Realizability enforcement
Software integration
Automated synthesis
Service choreography
Distributed coordination

Cited by (0)