A Tactic-Based Approach to Embodying Non-functional Requirements into Software Architectures | IEEE Conference Publication | IEEE Xplore