Software development with Modula - 2 - Budgen, David (Addison-Wesley, 1989)