DESIGNING OBJECT ORIENTED SOFTWARE - WIRFS, BROCK