Programming signal processing applications on heterogeneous wireless sensor platforms