Model driven Synthesis