1. A method for controlling tasks performed by a computing system, the method including: receiving ordering information that specifies at least a partial ordering among a plurality of tasks; and generating, using at least one processor, instructions for performing at least some of the tasks based at least in part on the ordering information, the generating including: storing instructions for executing a first subroutine corresponding to a first task, the first subroutine including a first control section that controls execution of at least a second subroutine corresponding to a second task, the first control section including a function configured to change state information associated with the second task, and to determine whether or not to initiate execution of the second subroutine based on the changed state information; and storing instructions for executing the second subroutine, the second subroutine including a task section for performing the second task and a second control section that controls execution of a third subroutine corresponding to a third task.