Compliance by Design: Synthesis of business processes by declarative specifications