Graph coloring problems derive from the old mapmakers' rule that adjacent countries on a map should be colored with different colors. So in that case, colors are the resource, countries are the consumers, and borders between countries are the interferences.
The design of the GraphColoring package implements graph coloring analysis in terms of four parts: Graphs to represent resource consumers and the interferences between them, Colors to represent the resources, ColorFactories to represent resource generators (to allow for unbounded resources to be represented, like Stack Offsets), and GraphColorers to assign a mapping from consumers to resources.
Usually graph coloring is used for Register Allocation problems, although other problems can often be reduced to graph coloring (such as interface method table layout).