Abstract
In software engineering, energy awareness refers to the conscious design and development of software that is able to monitor and react to energy state. Energy awareness is the key building block for energy efficiency and for other quality aspects of robotics software, such as mission completion time and safety. However, as of today, there is no guidance for practitioners and researchers on how to architect robotics software with energy awareness in mind. The goal of this paper is to identify architectural tactics for energy-aware robotics software. Specifically, using a dataset of 339493 data points extracted from five complementary data sources (e.g., source code repositories, Stack Overflow), we identified and analyzed 97 data points that considered both energy consumption and architectural concerns. We then synthesized a set of energy-aware architectural tactics via thematic analysis. In this preliminary investigation we focus on two representative architectural tactics.
Copyright 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
International Technology Roadmap for Semiconductors. https://www.itrs2.net/itrs-reports.html. Accessed 04 June 2021
ROS.org — Powering the world’s robots. https://www.ros.org/. Accessed 12 Mar 2021
Albonico, M., Malavolta, I., Pinto, G., Guzmán, E., Chinnappan, K., Lago, P.: Mining energy-related practices in robotics software. In: International Conference on Mining Software Repositories, MSR, New York, NY. IEEE/ACM, May 2021
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 3rd edn. Addison-Wesley Professional, Boston (2012)
Carabin, G., Wehrle, E., Vidoni, R.: A review on energy-saving optimization methods for robotic and automatic systems. MDPI (2017)
Clements, P., Garlan, D., Little, R., Nord, R., Stafford, J.: Documenting software architectures: views and beyond. In: Proceedings of 25th International Conference on Software Engineering, pp. 740–741. IEEE (2003)
De Matteis, T., Mencagli, G.: Proactive elasticity and energy awareness in data stream processing. J. Syst. Softw. 127, 302–319 (2017)
Fonseca, A., Kazman, R., Lago, P.: A manifesto for energy-aware software. IEEE Softw. 36(6), 79–82 (2019)
Malavolta, I., Chinnappan, K., Swanborn, S., Lewis, G., Lago, P.: Mining the ROS ecosystem for green architectural tactics in robotics and an empirical evaluation. In: Proceedings of the 18th International Conference on Mining Software Repositories, MSR, pp. 300–311. ACM, May 2021
Malavolta, I., Lewis, G., Schmerl, B., Lago, P., Garlan, D.: How do you architect your robots? State of the practice and guidelines for ROS-based systems. In: IEEE/ACM 42nd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), pp. 31–40 (2020)
Malavolta, I., Lewis, G.A., Schmerl, B., Lago, P., Garlan, D.: Mining guidelines for architecting robotics software. J. Syst. Softw. 178, 110969 (2021)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Hoboken (1996)
Vikhorev, K., Greenough, R., Brown, N.: An advanced energy management framework to promote energy awareness. J. Clean. Prod. 43, 103–112 (2013)
Acknowledgments
This research is partially supported by the Dutch Research Council (NWO) through the OCENW.XS2.038 grant; and the CNPQ/FA through the PPP-CP-20/2018 call.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Chinnappan, K., Malavolta, I., Lewis, G.A., Albonico, M., Lago, P. (2021). Architectural Tactics for Energy-Aware Robotics Software: A Preliminary Study. 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_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-86044-8_11
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)