Amending Choreographies

Choreographies are global descriptions of system behavior s, fr m which the local behavior of each endpoint entity can be obtained automatically through proj ection. To guarantee that its projection is correct, i.e. it has the same behaviors of the original chore ography, a choreography usually has to respect some coherency conditions. This restricts the set o f choreographies that can be projected. In this paper, we present a transformation for amending chor eographies that do not respect common syntactic conditions for projection correctness. Spec ifically, our transformation automatically reduces the amount of concurrency, and it infers and adds hid den communications that make the resulting choreography respect the desired conditions, wh ile preserving its behavior.