Pattern-Oriented Software Architecture, a Pattern Language for Distributed Computing sidottuEnglanti, 2007