On the automated synthesis of enterprise integration patterns to adapt choreography-based distributed systems