Skip to main content

Explaining Architectural Design Tradeoff Spaces: A Machine Learning Approach

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

Abstract

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 distinguish the forest through the trees. In this paper, we present an approach to analyzing architectural design spaces that addresses these limitations and provides a basis to enable the explainability of design tradeoffs. Our approach combines dimensionality reduction techniques employed in machine learning pipelines with quantitative verification to enable architects to understand how design decisions contribute to the satisfaction of strict quantitative guarantees under uncertainty across the design space. Our results show feasibility of the approach in two case studies and evidence that dimensionality reduction is a viable approach to facilitate comprehension of tradeoffs in poorly-understood 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 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.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

References

  1. Aleti, A., Bjornander, S., Grunske, L., Meedeniya, I.: Archeopterix: an extendable tool for architecture optimization of AADL models. In: ICSE Workshop on Model-Based Methodologies for Pervasive and Embedded Software, pp. 61–71 (2009)

    Google Scholar 

  2. Bonacich, P.: Power and centrality: a family of measures. Am. J. Sociol. 92(5), 1170–1182 (1987)

    Article  Google Scholar 

  3. Bondarev, E., Chaudron, M.R.V., de Kock, E.A.: Exploring performance trade-offs of a JPEG decoder using the deepcompass framework. In: 6th WS on Software and Performance, WOSP, pp. 153–163. ACM (2007)

    Google Scholar 

  4. Borgatti, S.P.: Centrality and network flow. Soc. Netw. 27(1), 55–71 (2005)

    Article  MathSciNet  Google Scholar 

  5. Calinescu, R., Ceska, M., Gerasimou, S., Kwiatkowska, M., Paoletti, N.: Designing robust software systems through parametric Markov chain synthesis. In: International Conference on Software Architecture, ICSA, pp. 131–140. IEEE (2017)

    Google Scholar 

  6. Calinescu, R., Ceska, M., Gerasimou, S., Kwiatkowska, M., Paoletti, N.: Efficient synthesis of robust models for stochastic systems. J. Syst. Softw. 143, 140–158 (2018)

    Article  Google Scholar 

  7. Calinescu, R., Johnson, K., Rafiq, Y.: Using observation ageing to improve Markovian model learning in QOS engineering. In: 2nd ACM/SPEC International Conference on Performance Engineering, ICPE 2011, pp. 505–510. ACM (2011)

    Google Scholar 

  8. Cámara, J.: HaiQ: synthesis of software design spaces with structural and probabilistic guarantees. In: FormaliSE@ICSE 2020: 8th International Conference on Formal Methods in Software Engineering, pp. 22–33. ACM (2020)

    Google Scholar 

  9. Cámara, J., Garlan, D., Schmerl, B.: Synthesizing tradeoff spaces with quantitative guarantees for families of software systems. J. Syst. Softw. 152, 33–49 (2019)

    Article  Google Scholar 

  10. Cámara, J., Muccini, H., Vaidhyanathan, K.: Quantitative verification-aided machine learning: a tandem approach for architecting self-adaptive IoT systems. In: International Conference on Software Architecture, ICSA, pp. 11–22. IEEE (2020)

    Google Scholar 

  11. Esfahani, N., Elkhodary, A., Malek, S.: A learning-based framework for engineering feature-oriented self-adaptive software systems. IEEE Trans. Soft. Eng. 39(11), 1467–1493 (2013)

    Article  Google Scholar 

  12. Freeman, L.C.: A set of measures of centrality based on betweenness. Sociometry 35–41 (1977)

    Google Scholar 

  13. Garlan, D.: Software engineering in an uncertain world. In: Proceedings of the Workshop on Future of Software Engineering Research, FoSER, pp. 125–128 (2010)

    Google Scholar 

  14. Garlan, D., Monroe, R.T., Wile, D.: Acme: architectural description of component-based systems. Found. Component-Based Syst. 68, 47–68 (2000)

    Google Scholar 

  15. Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)

    Article  Google Scholar 

  16. Jolliffe, I.T.: Principal component analysis and factor analysis. In: Jolliffe, I.T. (ed.) Principal Component Analysis, pp. 115–128. Springer, New York (1986). https://doi.org/10.1007/978-1-4757-1904-8_7

    Chapter  Google Scholar 

  17. Khalid, S., Khalil, T., Nasreen, S.: A survey of feature selection and feature extraction techniques in machine learning. In: Science and Information Conference, pp. 372–378 (2014)

    Google Scholar 

  18. Kwiatkowska, M., Norman, G., Parker, D., Vigliotti, M.: Probabilistic mobile ambients. Theoret. Comput. Sci. 410(12–13), 1272–1303 (2009)

    Article  MathSciNet  Google Scholar 

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

  20. Lever, J., Krzywinski, M., Altman, N.: Principal component analysis. Nat. Methods 14(7), 641–642 (2017)

    Article  Google Scholar 

  21. Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: International Conference on Performance Engineering, WOSP/SIPEW, pp. 105–116. ACM (2010)

    Google Scholar 

  22. Shaw, M., Garlan, D.: Software Architecture - Perspectives on an Emerging Discipline. Prentice Hall, Hoboken (1996)

    MATH  Google Scholar 

  23. Sobhy, D., Bahsoon, R., Minku, L., Kazman, R.: Evaluation of software architectures under uncertainty: a systematic literature review. ACM Trans. Softw. Eng. Methodol. (2021)

    Google Scholar 

  24. Sobhy, D., Minku, L., Bahsoon, R., Chen, T., Kazman, R.: Run-time evaluation of architectures: a case study of diversification in IoT. J. Syst. Soft. 159, 110428 (2020)

    Article  Google Scholar 

  25. Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley, Boston (2003)

    Google Scholar 

  26. Weyns, D., Calinescu, R.: Tele assistance: a self-adaptive service-based system exemplar. In: 10th IEEE/ACM International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2015, pp. 88–92. IEEE CS (2015)

    Google Scholar 

Download references

Acknowledgements

This work is partly supported by award N00014172899 from the Office of Naval Research (ONR) and award H9823018D0008 from the NSA. Any views, opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the ONR or NSA.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Javier Cámara .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Cámara, J., Silva, M., Garlan, D., Schmerl, B. (2021). Explaining Architectural Design Tradeoff Spaces: A Machine Learning Approach. In: Biffl, S., Navarro, E., Löwe, W., Sirjani, M., Mirandola, R., Weyns, D. (eds) Software Architecture. ECSA 2021. Lecture Notes in Computer Science(), vol 12857. Springer, Cham. https://doi.org/10.1007/978-3-030-86044-8_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-86044-8_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-86043-1

  • Online ISBN: 978-3-030-86044-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics