12. The non-transitory computer-accessible memory medium of claim 1 , wherein the graphical program further comprises one or more specifications or constraints on the graphical program, comprising one or more of: throughput of the graphical program; or buffer sizes between functional blocks of the graphical program.
1. A non-transitory computer-accessible memory medium that stores program instructions executable by a computer system to perform: providing a graphical program development environment comprising a graphical specification and constraint language that allows specification of a model of computation and explicit declaration of constraints; and creating a graphical program in the graphical specification and constraint language in response to user input, wherein the graphical program comprises: a specified model of computation; a plurality of interconnected functional blocks that visually indicate functionality of the graphical program in accordance with the specified model of computation; and graphically indicated specifications or constraints for at least one of the functional blocks in the graphical program; wherein the specifications or constraints comprise: initiation interval (II), comprising a minimum number of cycles between firings of the at least one functional block; input pattern (IP), comprising a sequence of Boolean values of length at most II, wherein the sequence of Boolean values aligns with the beginning of firing of the at least one functional block, wherein each true value in the sequence denotes consumption of a token at an input terminal of the at least one functional block; and output pattern (OP), comprising a sequence of Boolean values of length at most II, wherein the sequence of Boolean values aligns with the end of firing of the at least one functional block, wherein each true value in the sequence denotes production of a token at an output terminal of the at least one functional block; and automatically generating an output program based on the graphical program, wherein the output program implements the functionality of the graphical program in accordance with the specified model of computation, and further implements the specifications or constraints; wherein the output program is useable to configure a programmable hardware element to perform the functionality subject to the specifications or constraints.