Program development in Java : abstraction, specification and object-oriented design - Liskov, B. (Addison-Wesley Pub., 1970)