Eiffel the language - Meyer, Bertrand (Prentice Hall object-oriented series, 1992)