Pattern-oriented software architecture : on patterns and pattern languages - Buschmann, Frank (Wiley series in software design patterns, 2007)