1. A method comprising: profiling each component of a plurality of stream processing components of a stream processing application on each available computational resource in a heterogeneous hardware device by executing component instances of a stack on each computational resource to determine one or more performance characteristics; during execution of the stream processing application, evaluating within the run-time environment the determined one or more performance characteristics of the computational resources in the heterogeneous hardware device; 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 based on the determined one or more performance characteristics that satisfy 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.