Introduction
The Quantifying System Levels of Support (QSLS) methodology enables the quantitative measurement of how well a system architecture supports key quality attributes (Robustness, Maintainability, Safety, Security, Complexity…) and business drivers (Foster Competition, Costs Increase, Accreditation Effectiveness, Increase Accreditation Efficiency….). It does this by linguistically correlating the architecture's mechanisms to part components, characteristic attributes, quality sub-attributes, quality attributes and business drivers. Matrix mathematics is then applied to these matrices of correlations to calculate measures of the architecture's support.
A new feature is being added to QSLS to enable ranking an architecture's mechanisms based on their support for a selected quality attribute of interest. This provides the reverse flow compared to standard QSLS - rather than calculate quality attribute support from mechanisms, it determines the most important mechanisms for a quality attribute. This paper describes the approach and mathematics behind this mechanism ranking capability.

Approach
The overall approach to rank mechanisms by quality attribute support is:
1. Select a quality attribute of interest
2. Backtrace through the QSLS matrices from the quality attribute to the quality sub-attributes to the characteristic attributes to the mechanism part components to the mechanisms
3. During the backtrace, calculate measures of mechanism support rolled up from the matrix correlation computations
4. Rank the mechanisms based on their rolled up support measurements
This leverages the existing QSLS matrices but flows through them in the reverse order to calculate and accumulate mechanism support values.
Insights and Applications
The ranked mechanisms provide valuable insights into which aspects of the architecture are most critical for supporting a quality attribute of stakeholder interest. Mechanisms ranked highly warrant increased focus and careful design consideration as the architecture is refined and elaborated.
Comparing ranked mechanisms across quality attributes highlights mechanisms that support multiple QAs and are thus high leverage points in the architecture. It also reveals mechanisms pulled in different directions by competing QAs.
As architectural decisions and tradeoffs are made, reranking mechanisms indicates the impact on each quality attribute. This could also steer the addition or removal of mechanisms.
An example of using QSLS iteratively in system design
The example illustrates a typical workflow:
1. Select an initial architecture (standards and mechanisms) and evaluate it with standard QSLS
2. Identify deficient quality attributes and use mechanism ranking to find top mechanisms to improve them
3. Add new mechanisms and rerun QSLS to check the impact
4. Iterate steps 2-3 until quality attribute support is satisfactory
5. Finalize the architecture including tracing to starting Design and Starting Implementation
6. Provide measurement data to stakeholders
Specific scenarios will vary, but the core process of evaluating support, ranking and adding/removing mechanisms, and reevaluating is a powerful approach for any system.
The method helps the architect efficiently explore the architectural design space, provides data to justify decisions, and increases confidence that quality concerns are being addressed.
Conclusion
The powerful and unique QSLS methodology has been extended with a insightful new feature to rank architectural mechanisms by their support for a selected quality attribute. Back tracing through the QSLS matrices from the quality attribute back to the mechanisms, combined with support rollup calculations, produces the ranking.
This provides a quantitative, data-driven basis for focusing on the most impactful mechanisms for achieving quality attribute goals. It surfaces valuable insights to guide architectural decision making. Mechanism ranking is an important addition to the QSLS toolbox for architects to employ throughout the system design process.
Comments