Software Architecture in Practice (3rd Edition) (SEI Series in Software Engineering)