Essential Software Architecture - Ian Gorton (Springer)