Skip to main content

Voyager: Software Architecture Trade-off Explorer

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

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1269))

Included in the following conference series:

Abstract

Software engineers must ensure that systems under development are endowed with software architectures that enable them to meet their requirements. Apart from functionality, systems also have to satisfy extra-functional requirements that may include behavioural constraints that the software must adhere to, as well as qualities to optimise such as performance, availability, and energy efficiency. These qualities are often inter-dependent and heavily influenced by the structure of the system. This results in poorly understood multi-dimensional design spaces, in which trade-offs among qualities are not evident when making architectural decisions. This paper presents Voyager, a tool which allows engineers to visualise architectural configurations and explore the trade-offs among their quality attributes in a multi-dimensional design space. The tool produces contextual visualisations to facilitate trade-off analysis, providing engineers with a streamlined way of understanding architectural design spaces, using an approach that combines architectural structure with multi-dimensional data visualisations. A user study was conducted to evaluate the effectiveness of the tool. Results show that participants achieved a significantly higher accuracy in a shorter time span and had a better user experience when using Voyager, with respect to an existing comparable tool.

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 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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.

    The source code, user study data and a video demonstration of the Voyager tool is located online at: https://github.com/jasonmash/voyager.

References

  1. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: connecting software architecture to implementation. In: Proceedings of the 24th International Conference on Software Engineering, ICSE 2002, pp. 187–197, May 2002

    Google Scholar 

  2. Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Softw. Eng. 39(5), 658–683 (2013)

    Article  Google Scholar 

  3. Bagheri, H., Tang, C., Sullivan, K.: Trademaker: automated dynamic analysis of synthesized tradespaces. In: Proceedings of the 36th International Conference on Software Engineering, ICSE 2014, pp. 106–116. ACM, New York (2014)

    Google Scholar 

  4. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 3rd edn. Addison-Wesley Professional, Upper Saddle River, NJ (2012)

    Google Scholar 

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

    Article  Google Scholar 

  6. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Reading, MA (2001)

    Google Scholar 

  7. Hinton, A., Kwiatkowska, M., Norman, G., Parker, D.: PRISM: a tool for automatic verification of probabilistic systems. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 441–444. Springer, Heidelberg (2006). https://doi.org/10.1007/11691372_29

    Chapter  Google Scholar 

  8. Kwiatkowska, M.: Quantitative verification: models, techniques and tools. In: 6th Joint Meeting on European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering: Companion Papers, pp. 449–458. ACM (2007)

    Google Scholar 

  9. Li, D., et al.: ECharts: a declarative framework for rapid construction of web-based visualization. Vis. Inform. 2(2), 136–146 (2018)

    Article  Google Scholar 

  10. Mahdavi-Hezavehi, S., Galster, M., Avgeriou, P.: Variability in quality attributes of service-based software systems: a systematic literature review. Inf. Softw. Technol. 55(2), 320–343 (2013)

    Article  Google Scholar 

  11. Murashkin, A., Antkiewicz, M., Rayside, D., Czarnecki, K.: Visualization and exploration of optimal variants in product line engineering. In: Proceedings of the 17th International Software Product Line Conference, pp. 111–115. ACM (2013)

    Google Scholar 

  12. Mylopoulos, J., Chung, L., Nixon, B.: Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans. Softw. Eng. 18(6), 483–497 (1992)

    Article  Google Scholar 

  13. Sawant, A.P., Bali, N.: Softarchviz: a software architecture visualization tool. In: 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis, pp. 154–155, June 2007

    Google Scholar 

  14. Sayyad, A.S., Ammar, H.: Pareto-optimal search-based software engineering: a literature survey. In: 2013 2nd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering, pp. 21–27, May 2013

    Google Scholar 

  15. Schmerl, B., Garlan, D.: AcmeStudio: supporting style-centered architecture development. In: Proceedings of the 26th International Conference on Software Engineering, ICSE 2004, pp. 704–705 (2004)

    Google Scholar 

  16. Sousa, J.P., Garlan, D.: The aura software architecture: an infrastructure for ubiquitous computing (2003)

    Google Scholar 

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

    Google Scholar 

Download references

Acknowledgements

The authors would like to thank everyone who kindly volunteered to participate in the user study.

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

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Mashinchi, J., Cámara, J. (2020). Voyager: Software Architecture Trade-off Explorer. In: Muccini, H., et al. Software Architecture. ECSA 2020. Communications in Computer and Information Science, vol 1269. Springer, Cham. https://doi.org/10.1007/978-3-030-59155-7_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-59155-7_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-59154-0

  • Online ISBN: 978-3-030-59155-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics