Skip to main content

Supporting the Exploration of Quality Attribute Tradeoffs in Large Design Spaces

  • Conference paper
  • First Online:
Software Architecture (ECSA 2023)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    A tactic decreaseCapacity(?device) that reverses the effects of adding a service to a device can be also considered in the graph.

  2. 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. 3.

    Notebook: https://shorturl.at/jyCX3 - Tasks: https://shorturl.at/lHU08.

References

  1. 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)

    Article  Google Scholar 

  2. 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

  3. 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

  4. Bachmann, F., Bass, L., Klein, M., Shelton, C.: Designing software architectures to achieve quality attribute requirements. IEEE Proc. Softw. 152, 153–165 (2005)

    Google Scholar 

  5. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, Addison-Wesley (2003)

    Google Scholar 

  6. 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

  7. 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)

    Article  Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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

    Article  MathSciNet  MATH  Google Scholar 

  11. Hoffman, R.R., Mueller, S.T., Klein, G., Litman, J.: Metrics for explainable AI: Challenges and prospects. arXiv preprint arXiv:1812.04608 (2018)

  12. 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

    Article  Google Scholar 

  13. 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

  14. 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

    Chapter  Google Scholar 

  15. 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

  16. 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

    Chapter  Google Scholar 

  17. 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)

    Google Scholar 

  18. 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

    Article  Google Scholar 

  19. Savoia, A.: The Right It: Why So Many Ideas Fail and How to Make Sure Yours Succeed. Harper-Collins (2019)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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

    Article  Google Scholar 

  22. Xu, D., Tian, Y.: A comprehensive survey of clustering algorithms. Ann. Data Sci. 2, 165–193 (2015)

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to J. Andres Diaz-Pace .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics