doctoral thesis by Dean Michael Tullsen, Computer Science & Engineering, University of Washington, 1996