Abstract
When designing and evolving software architectures, architects need to consider large design spaces of architectural decisions. These decisions tend to impact the quality attributes of the system, such as performance, security, or reliability. Relevant quality attributes might influence each other and usually need to be traded off by architects. When exploring a design space, it is often challenging for architects to understand what tradeoffs exist and how they are connected to architectural decisions. This is particularly problematic in architectural spaces generated by automated optimization tools, as the underlying tradeoffs behind the decisions that they make are unclear. This paper presents an approach to explore quality-attribute tradeoffs via clustering and visualization techniques. The approach allows architects to get an overview of the main tradeoffs and their links to architectural configurations. We evaluated the approach in a think-aloud study with 9 participants from academia and industry. Our findings show that the proposed techniques can be useful in understanding feasible tradeoffs and architectural changes affecting those tradeoffs in large design spaces.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A tactic decreaseCapacity(?device) that reverses the effects of adding a service to a device can be also considered in the graph.
- 2.
In case of sequences of different lengths, we pad the shorter sequence with a special noOp() tactic that makes no changes to the architectural configurations.
- 3.
Notebook: https://shorturl.at/jyCX3 - Tasks: https://shorturl.at/lHU08.
References
Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. on Soft. Eng. 39(5), 658–683 (2013)
Amir, O., Doshi-Velez, F., Sarne, D.: Summarizing agent strategies. Auton. Agent. Multi-Agent Syst. 33(5), 628–644 (2019). https://doi.org/10.1007/s10458-019-09418-w
Arcelli, D., Cortellessa, V., D’Emidio, M., Di Pompeo, D.: Easier: an evolutionary approach for multi-objective software architecture refactoring. In: 2018 IEEE Int. Conf. on Software Architecture (ICSA), pp. 105–10509 (2018). https://doi.org/10.1109/ICSA.2018.00020
Bachmann, F., Bass, L., Klein, M., Shelton, C.: Designing software architectures to achieve quality attribute requirements. IEEE Proc. Softw. 152, 153–165 (2005)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, Addison-Wesley (2003)
Busch, A., Fuchß, D., Koziolek, A.: PerOpteryx: automated improvement of software architectures. In: 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), pp. 162–165 (2019). https://doi.org/10.1109/ICSA-C.2019.00036
Cámara, J., Garlan, D., Schmerl, B.: Synthesizing tradeoff spaces of quantitative guarantees for families of software systems. J. Syst. Softw. 152, 33–49 (2019)
Cámara, J., Silva, M., Garlan, D., Schmerl, B.: Explaining architectural design tradeoff spaces: a machine learning approach. In: Biffl, S., Navarro, E., Löwe, W., Sirjani, M., Mirandola, R., Weyns, D. (eds.) ECSA 2021. LNCS, vol. 12857, pp. 49–65. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-86044-8_4
Frank, S., van Hoorn, A.: SQuAT-Vis: visualization and interaction in software architecture optimization. In: Muccini, H. (ed.) ECSA 2020. CCIS, vol. 1269, pp. 107–119. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-59155-7_9
Hamming, R.W.: Error detecting and error correcting codes. Bell Syst. Tech. J. 29(2), 147–160 (1950). https://doi.org/10.1002/j.1538-7305.1950.tb00463.x
Hoffman, R.R., Mueller, S.T., Klein, G., Litman, J.: Metrics for explainable AI: Challenges and prospects. arXiv preprint arXiv:1812.04608 (2018)
Jaspers, M.W., Steen, T., van den Bos, C., Geenen, M.: The think aloud method: a guide to user interface design. Int. J. Med. Inf. 73(11), 781–795 (2004). https://doi.org/10.1016/j.ijmedinf.2004.08.003
Kinneer, C., Herzig, S.J.I.: Dissimilarity measures for clustering space mission architectures. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 392–402. MODELS 2018, ACM, New York, USA (2018). https://doi.org/10.1145/3239372.3239390
Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22110-1_47
Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: Proceedings of the 1st Joint WOSP/SIPEW International Conference on Performance Engineering, pp. 105–116. ACM, New York, USA (2010). https://doi.org/10.1145/1712605.1712624
Mashinchi, J., Cámara, J.: Voyager: software architecture trade-off explorer. In: Muccini, H. (ed.) ECSA 2020. CCIS, vol. 1269, pp. 55–67. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-59155-7_5
Procter, S., Wrage, L.: Guided architecture trade space exploration: fusing model based engineering amp; design by shopping. In: 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering, Languages and Systems (MODELS), pp. 117–127 (2019)
Sanchez, C.C., Capilla, R., Staron, M.: Estimating the complexity of architectural design decision networks. IEEE Access 8, 168558–168575 (2020). https://doi.org/10.1109/ACCESS.2020.3023608
Savoia, A.: The Right It: Why So Many Ideas Fail and How to Make Sure Yours Succeed. Harper-Collins (2019)
Sukkerd, R., Simmons, R., Garlan, D.: Tradeoff-focused contrastive explanation for MDP planning. In: Proceedings of 29th IEEE International Conference on Robot & Human Interactive Communication. Virtual (September 2020)
Wohlrab, R., Cámara, J., Garlan, D., Schmerl, B.: Explaining quality attribute tradeoffs in automated planning for self-adaptive systems. J. Syst. Softw. 198, 111538 (2023). https://doi.org/10.1016/j.jss.2022.111538
Xu, D., Tian, Y.: A comprehensive survey of clustering algorithms. Ann. Data Sci. 2, 165–193 (2015)
Acknowledgements
This work was partially supported by the Wallenberg AI, Autonomous Systems and Software Program funded by the Knut and Alice Wallenberg Foundation. It was also supported by project PICT-2021-00757.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Diaz-Pace, J.A., Wohlrab, R., Garlan, D. (2023). Supporting the Exploration of Quality Attribute Tradeoffs in Large Design Spaces. In: Tekinerdogan, B., Trubiani, C., Tibermacine, C., Scandurra, P., Cuesta, C.E. (eds) Software Architecture. ECSA 2023. Lecture Notes in Computer Science, vol 14212. Springer, Cham. https://doi.org/10.1007/978-3-031-42592-9_1
Download citation
DOI: https://doi.org/10.1007/978-3-031-42592-9_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-42591-2
Online ISBN: 978-3-031-42592-9
eBook Packages: Computer ScienceComputer Science (R0)