Patent ID: 8893080

Claim:
A method of processing a dataflow program by a program development tool, wherein the dataflow program comprises one or more actors, each actor comprising one or more actions, the method comprising: the program development tool causing processing equipment to perform: retrieving stored dataflow program instructions from a memory; analyzing an actor defined by the retrieved dataflow program instructions to identify one or more original sequences of one or more actions that are capable of being reformulated to achieve greater execution parallelism while maintaining a same functionality as the original sequences; and producing, based on said analyzing, a processed dataflow program by producing processed dataflow program instructions and decision point program instructions, wherein: the processed dataflow program instructions comprise alternative sequences of reformulated actions that achieve greater execution parallelism while maintaining the same functionality as the identified one or more original sequences; and the decision point program instructions are capable of causing the one or more processors to select and execute one or more of the alternative sequences of reformulated actions, wherein selecting the one or more of the alternative sequences of reformulated actions is performed at runtime of the processed dataflow program instructions and is based on state information of the one or more actors and token information about tokens passed between the one or more actors in existence at the time of selection.