A method for executing, in a processor , a dynamically adjustable data flow graph for digital signal processing; the method comprising: calling a graph setup routine for the data flow graph (S302); executing the graph setup routine with a first set of parameter values, thereby instantiating the data flow graph (S304); when the graph setup routine is complete, calling and executing a graph execution routine for the data flow graph (S306); updating the data flow graph by executing a graph rebuild routine for the data flow graph with a second set of parameter values, thereby re-parameterizing the data flow graph; and running the re-parameterized graph using the graph execution routine, wherein executing the graph setup routine includes: building a plurality of nodes in a node table corresponding to the data flow graph, the node table including arc information associated with each of said nodes; and allocating memory, wherein executing the graph execution routine includes: executing each of the plurality of nodes when an input buffer node corresponding to said node of the plurality of nodes contains an amount of input data exceeding a minimum threshold; wherein the arc information defines a respective single arc joining any two nodes in the node table; and wherein updating the data flow graph includes: detecting via a control layer, by monitoring and analyzing data entering or leaving the data flow graph, a system performance requirement change, the system performance requirement change corresponding to at least one of sensor operations inside the data flow graph, probe operations inside the data flow graph and/or external sensor data, and executing the graph rebuild routine based upon the detection of the system performance requirement change. calling a graph setup routine for the data flow graph (S302); executing the graph setup routine with a first set of parameter values, thereby instantiating the data flow graph (S304); when the graph setup routine is complete, calling and executing a graph execution routine for the data flow graph (S306); updating the data flow graph by executing a graph rebuild routine for the data flow graph with a second set of parameter values, thereby re-parameterizing the data flow graph; and running the re-parameterized graph using the graph execution routine, wherein executing the graph setup routine includes: building a plurality of nodes in a node table corresponding to the data flow graph, the node table including arc information associated with each of said nodes; and allocating memory, building a plurality of nodes in a node table corresponding to the data flow graph, the node table including arc information associated with each of said nodes; and allocating memory, wherein executing the graph execution routine includes: executing each of the plurality of nodes when an input buffer node corresponding to said node of the plurality of nodes contains an amount of input data exceeding a minimum threshold; wherein the arc information defines a respective single arc joining any two nodes in the node table; and executing each of the plurality of nodes when an input buffer node corresponding to said node of the plurality of nodes contains an amount of input data exceeding a minimum threshold; wherein the arc information defines a respective single arc joining any two nodes in the node table; and wherein updating the data flow graph includes: detecting via a control layer, by monitoring and analyzing data entering or leaving the data flow graph, a system performance requirement change, the system performance requirement change corresponding to at least one of sensor operations inside the data flow graph, probe operations inside the data flow graph and/or external sensor data, and executing the graph rebuild routine based upon the detection of the system performance requirement change. <EOS>