Frame-based streaming data flows through a graph of multiple
interconnected processing modules. The modules have a set of performance
parameters whose values specify the sensitivity of each module to the
selection of certain resources of a system. A user specifies overall
goals for an actual graph for processing a given type of data for a
particular purpose. A flow manager constructs the graph as a sequence of
module interconnections required for processing the data, in response to
the parameter values of the individual modules in the graph in view of
the goals for the overall graph as a whole, and divides it into pipes
each having one or more modules and each assigned to a memory manager for
handling data frames in the pipe.