Quality-driven architecture development using architectural tactics
A Formal Approach to Software Architecture