| OCR Text |
Show 26 The dependency graph is a directed acyclic graph where the nodes represent arbitrary functions and the edges represent data objects. An edge may represent a variable, a constant or an Intermediate result. An object c depends on an object 8 if there is a path In the dependency graph from 8 to c as in figure 11. a b Figure 11: Another Simple Dependency Graph. In figure 11, d depends on a and c. Since d depends on c, and c depends on b, d also depends on b. When an object is changed, all objects which depend on it must be recom-puted. The Constraint Kernels connect constraint graphs to a dependency graph through shared data objects. Shared data objects are undirected edges when viewed by an attached constraint but they are directed edges when viewed by the dependency graph. The graph to the left in figure 12 is an example Constraint Kernels graph for a::f(b, c) with the constraint b=C+ 1, and the graph to the right represents c::f(a, b) with the constraint c=a+b. b 1 a b c c Figure 12: Connecting Constraints to Dependencies. |