Code generation by model transformation: a case study in transformation modularity | Synapse