Developing Applications for Heterogeneous Computing Environments using Simulation: a Case Study