Software engineering with abstractions - Berzins, Valdis (Addison-Wesley, 1991)