CHOReOSynt is a set of tools to automatically synthesize an automata-based specification of the coordination logic out of a BPMN2 choreography specification, and to distribute it between the choreography participants. 

Given a choreography specification and a set of existing services discovered as suitable participants, externally coordinate the interaction among them so as to fulfil the collaboration prescribed by the choreography specification. 

CHOReOSynt implements a model-based approach able to automatically generate, from a BPMN2 choreography specification, an automata-based specification of the coordination logic, and distribute it between the participants so to enforce the choreography. 
The coordination logic is distributed between models that, codifying coordination information, are used by automatically generated software entities to enforce the interaction of the services participating to the choreography, hence preventing undesired interactions.