Pattern-oriented software architecture ;Vol.1. a system of patterns - Buschmann, Frank (Wiley(india), 1996)