Basic Change Propagation

In this section, assume that you have built a flow of any type using any technique. In the flow, there are some files that are primary inputs.

When a primary input file is modified, all the dependent nodes are marked as INVALID, to indicate that the design is now inconsistent.

To regain consistency, the change must be propagated to all INVALID nodes. This means that the file's dependent jobs must be run, which in turn create changes in their outputs, which leads to their dependent jobs being run, and so on, until the change propagates to a final job and final outputs.

This process of change propagation is called retracing the dependency graph. It is performed by FlowTracer upon user request. FlowTracer processes the request by dispatching the jobs to the taskers in the correct order.
Note: From now on, retracing will be referred to as the easier to remember "run".

During a run, parallelism is exploited, and network resources are used efficiently in order to minimize the total turnaround time.