Program development in Java abstraction, specification, and object-oriented design - Liskov, Barbara 1939- (Addison-Wesley, 2000)