ExTrA: Explaining architectural design tradeoff spaces via dimensionality reduction
Journal article, 2023

In software design, guaranteeing the correctness of run-time system behavior while achieving an acceptable balance among multiple quality attributes remains a challenging problem. Moreover, providing guarantees about the satisfaction of those requirements when systems are subject to uncertain environments is even more challenging. While recent developments in architectural analysis techniques can assist architects in exploring the satisfaction of quantitative guarantees across the design space, existing approaches are still limited because they do not explicitly link design decisions to satisfaction of quality requirements. Furthermore, the amount of information they yield can be overwhelming to a human designer, making it difficult to see the forest for the trees. In this paper we present ExTrA (Explaining Tradeoffs of software Architecture design spaces), an approach to analyzing architectural design spaces that addresses these limitations and provides a basis for explaining design tradeoffs. Our approach employs dimensionality reduction techniques employed in machine learning pipelines like Principal Component Analysis (PCA) and Decision Tree Learning (DTL) to enable architects to understand how design decisions contribute to the satisfaction of extra-functional properties across the design space. Our results show feasibility of the approach in two case studies and evidence that combining complementary techniques like PCA and DTL is a viable approach to facilitate comprehension of tradeoffs in poorly-understood design spaces.

Tradeoff analysis

Uncertainty

Dimensionality reduction

Author

Javier Cámara

University of Malaga

Rebekka Wohlrab

Chalmers, Computer Science and Engineering (Chalmers), Interaction Design and Software Engineering

David Garlan

Carnegie Mellon University (CMU)

Bradley Schmerl

Carnegie Mellon University (CMU)

Journal of Systems and Software

0164-1212 (ISSN)

Vol. 198 111578

Subject Categories

Software Engineering

Human Computer Interaction

DOI

10.1016/j.jss.2022.111578

More information

Latest update

1/2/2023 1