Date of Original Version
Abstract or Description
There is very little published work on how techniques that promote different architectural qualities interact with each other. When developing a software system, software architects need to understand the relationships among these techniques. For example, if a system is compromised, architects must consider questions such as whether it makes sense to apply damage confinement to achieve dependability, while at the same time shutting down components to promote security. To help answer such questions, this report provides matrices in which various techniques for promoting different architectural qualities are analyzed relative to each other. Four architectural qualities were analyzed: performance, security, modifiability, and dependability. The techniques that promote each one were selected and categorized as promotion, detection, or correction. For each category, matrices are presented that provide a detailed description of why a particular interaction is positive, negative, or neutral, or cannot be determined without assessing a concrete system.