Synthesis of Parallel Software from Heterogeneous Dataflow Models