Data abstraction in programming languages - Bishop, Judy (Addison-Wesley, 1986)