1. A method comprising: receiving a stream processing application including a stack of one or more interdependent stream processing software components; evaluating within the run-time environment one or more performance characteristics of multiple computational resources in a heterogeneous hardware device, each performance characteristic being associated with performance of a computational resource in executing a computational-resource-dependent instance of a stream processing software component; scheduling within the run-time environment a computational resource on which to execute a computational-resource-dependent instance of one of the stream processing software components, the computational-resource-dependent instance being targeted for execution on the computational resource that satisfies a performance policy attributed to the stream processing software component; and executing in the run-time environment the selected computational-resource-dependent instance on the scheduled computational resource of the heterogeneous hardware device.