A universally accepted premise of the software architecture community is that architecture determines attributes. The concept of an architecture mechanism allows us to address these questions. An architecture mechanism is an ensemble consisting of a small number of component and connector types. It significantly affects quality attribute behavior and has sufficient content for analysis. For example, encapsulation is a mechanism for achieving modifiability.
Replication is a mechanism for achieving reliability.
We contend that these architectural mechanisms are design primitives. They allow designers to explore and document the relationship between software architectural styles and quality attributes. At this point, we believe that there are fewer than 10 mechanism types per quality attribute. By codifying mechanisms, designers can also identify the choices necessary for achieving quality attribute goals. This, in turn, will set a foundation for further software architecture design and analysis.