A cyber-physical programming environment