Pattern-oriented software architecture : a system of patterns - Buschmann, Frank (Wiley India, 1996)