Patent ID: 7200837

Claim:
A method for programming an adaptive computing device, the adaptive computing device having a plurality of heterogeneous nodes coupled through a matrix interconnect network, the method comprising: creating a first program construct having a correspondence to a selected node of the plurality of heterogeneous nodes; creating a second program construct having a correspondence to an executable task of the selected node; creating a third program construct having a correspondence to at least one input port coupling the selected node to the matrix interconnect network for input data to be consumed by the executable task; creating a fourth program construct having a correspondence to at least one output port coupling the selected node to the matrix interconnect network for output data to be produced by the executable task; providing for synchronization of production of output data with consumption of input data by: creating a fifth program construct corresponding to a data producing task notifying a data consuming task of the creation of output data; and creating a sixth program construct corresponding to a data consuming task notifying a data producing task of the consumption of input data; providing for commencement of the executable task by creating a seventh program construct having a correspondence to a task manager of the selected node; wherein the seventh program construct is a ready routine and has a form comprising: ready (pipeName, numberOfElements); wherein pipeName is a placeholder for a unique identifier of either the third program construct or the fourth program construct and numberOfElements is a placeholder for an amount of data which is sufficient for commencement of the executable task; compiling the created program constructs; and executing the compiled program constructs to program the adaptive computing device.