Software Construction and Data Structures with Ada 95 (2nd Edition)