Author: David R. O'Hallaron Randal E. Bryant