Rapid software prototyping for heterogeneous and distributed platforms. (June 2019)