Exploring the design space of a new process usually takes place in an iterative fashion, with one run after the other being submitted by the user for execution. Unless split point generation is disabled by the user, every time a new version of a process flow is submitted, split points are generated automatically at the locations of differences in the process flow; there is no need to specify split points explicitly or in advance.
Due to the asynchronous operation of the run control module, it is possible to submit new process flows while others are still in progress. If a split point is detected at a location that has not yet been computed, the split branch is set to a waiting state and continues after the split parent has reached and completed the split point. If a number of runs are started simultaneously, split points are determined, and only completely independent runs start execution.
Once more than one run is active, an automatic load-balancing mechanism [KPR96] ensures optimum load distribution and minimum total execution time for parallel experiments. All run scheduling information remains consistent across sessions.