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