1. A system for dynamically modifying inter-connections between a plurality of components in a component-based data stream processing application, comprising: a processor; a memory coupled to the processor; a profile manager module stored on the memory to receive a data producer profile for each of a plurality of output ports within a software application to be executed on one or more processors, wherein the application comprises a plurality of components that each comprise an output port that produces a data stream and an input port that consumes a data stream, and wherein each data producer profile describes a characteristic of the data produced by the corresponding output port; a subscription expression manager module stored on the memory to receive a data subscription profile for each of one or more input ports of a plurality of components of the application, wherein each data subscription profile describes a characteristic of the data consumed by the corresponding input port; and a data flow module stored on the memory to establish one or more connections between output ports and input ports of the plurality of components in the application based on a comparison of each data producer profile and each data subscription profile.