Abstract
Driven by the success of Internet of Things, the number of embedded systems is constantly increasing. Reducing power consumption and improving energy efficiency are among the key challenges for battery-powered embedded systems. Additionally, threats like climate change clearly illustrate the need for systems with low resource usages. Due to the impact of software applications on the system’s power consumption, it is important to optimize the software design even in early development phases. The important role of the software layer is often overlooked because energy consumption is commonly associated with the hardware layer. As a result, existing research mainly focuses on energy optimization at the hardware level, while only limited research has been published on energy optimization at the software design level. This work presents a novel approach to propose an energy-aware software design pattern framework description, which takes power consumption and time behavior into account. We evaluate the expressiveness of the framework by defining design patterns, which use elaborated power-saving strategies for various hardware components to reduce the overall energy consumption of an embedded system. Furthermore, we introduce a dimensionless numerical efficiency factor to make energy savings quantifiable and a comparison for design patterns applied in various use cases possible.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Abd El-Mawla, N., Badawy, M., Arafat, H.: Iot for the failure of climate-change mitigation and adaptation and IIot as a future solution. World J. Environ. Eng. 6(1), 7–16 (2019). https://doi.org/10.12691/wjee-6-1-2
Abdulsalam, S., Lakomski, D., Gu, Q., Jin, T., Zong, Z.: Program energy efficiency: The impact of language, compiler and implementation choices. In: International Green Computing Conference (IGCC), pp. 1–6. IEEE, Piscataway (2014)
Albers, S., Antoniadis, A.: Race to idle. ACM Trans. Algorithms 10(2), 1–31 (2014). https://doi.org/10.1145/2556953
Armoush, A.: Design patterns for safety-critical embedded systems. Ph.D. thesis, Aachen (2010). http://publications.rwth-aachen.de/record/51773
Banerjee, A., Chattopadhyay, S., Roychoudhury, A.: On testing embedded software. In: Advances in Computers, vol. 101, pp. 121–153. Elsevier (2016)
Bunse, C., Höpfner, H.: Resource substitution with components - optimizing energy consumption. In: ICSOFT - Proceedings of the 3rd International Conference on Software and Data Technologies, Volume SE/MUSE/GSDCA, Porto, Portugal, 5–8 July, pp. 28–35. INSTICC Press (2008)
Douglass, B.P.: Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. The Addison-Wesley Object Technology Series. Addison-Wesley, Boston, London (2003)
Douglass, B.P.: Design Patterns For Embedded Systems in C: An Embedded Software Engineering Toolkit. Newnes/Elsevier, Oxford and Burlington (2011)
EventHelix.com Inc.: High speed serial port design pattern (2019). http://www.eventhelix.com/RealtimeMantra/PatternCatalog/high_speed_serial_port.htm. Accessed 03 Aug 2020
Feitosa, D., Alders, R., Ampatzoglou, A., Avgeriou, P., Nakagawa, E.Y.: Investigating the effect of design patterns on energy consumption. J. Softw. Evol. Process 29(2), e1851 (2017). https://doi.org/10.1002/smr.1851
Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Bosto (1994)
Grunwald, A., Schaarschmidt, M., Westerkamp, C.: Lorawan in a rural context: Use cases and opportunities for agricultural businesses. In: Mobile Communication - Technologies and Applications; 24. ITG-Symposium, pp. 134–139. VDE-Verl. GmbH, Berlin (2019)
Hammadi, A., Mhamdi, L.: A survey on architectures and energy efficiency in data center networks. Comput. Commun. 40, 1–21 (2013)
Jiang, H., Marek-Sadowska, M., Nassif, S.R.: Benefits and costs of power-gating technique. In: International Conference on Computer Design. pp. 559–566. IEEE Computer Society, Los Alamitos (2005)
Kim, N.S., et al.: Leakage current: Moore’s law meets static power. Computer 36(12), 68–75 (2003). https://doi.org/10.1109/MC.2003.1250885
Landau, H.J.: Sampling, data transmission, and the Nyquist rate. Proc. IEEE 55(10), 1701–1706 (1967). https://doi.org/10.1109/PROC.1967.5962
Lim, C., Ahn, H.T., Kim, J.T.: Predictive dvs scheduling for low-power real-time operating system. In: 2007 International Conference on Convergence Information Technology, pp. 1918–1921. IEEE Computer Society, Los Alamitos (2007)
Litke, A., Zotos, K., Chatzigeorgiou, A., Stephanides, G.: Energy consumption analysis of design patterns. Int. J. Electr. Comput. Energ. Electron. Commun. Eng. 1(11), 1663–1667 (2007)
Maleki, S., Fu, C., Banotra, A., Zong, Z.: Understanding the impact of object oriented programming and design patterns on energy efficiency. In: 8th International Green and Sustainable Computing Conference (IGSC), pp. 1–6. IEEE (2017)
Miśkowicz, M.: Event-Based Control and Signal Processing. Embedded Systems. CRC Press, Boca Raton (2016)
Noureddine, A., Rajan, A.: Optimising energy consumption of design patterns. In: Proceedings of the 37th International Conference on Software Engineering, ICSE 2015, vol. 2, pp. 623–626. IEEE Press, Piscataway (2015)
NXP Semiconductors: An11783 - clrc663 pluslow power card detection (2017). https://www.nxp.com/docs/en/application-note/AN11783.pdf
Object Management Group: Unified Modeling Language, Version 2.5.1. OMG Document Number formal/17-12-05 (2017). https://www.omg.org/spec/UML/2.5.1/
Oshana, R., Kraeling, M.: Software Engineering for Embedded Systems: Methods, Practical Techniques, And Applications. Newnes/Elsevier, Waltham (2013)
Pang, C., Hindle, A., Adams, B., Hassan, A.E.: What do programmers know about software energy consumption? IEEE Softw. 33(3), 83–89 (2016)
Patterson, D.A., Hennessy, J.L.: Computer Organization and Design: The Hardware/Software Interface. The Morgan Kaufmann Series in Computer Architecture and Design. Elsevier/Morgan Kaufmann, Amsterdam and Boston (2014)
Pering, T., Burd, T., Brodersen, R.: The simulation and evaluation of dynamic voltage scaling algorithms. In: Chandrakasan, A., Kiaei, S. (eds.) Proceedings. pp. 76–81. ACM Order Dept, NY (1998). https://doi.org/10.1145/280756.280790
Procaccianti, G., Lago, P., Bevini, S.: A systematic literature review on energy efficiency in cloud software architectures. Sustain. Comput. (SUSCOM) 7(9), 2–10 (2015). https://doi.org/10.1016/j.suscom.2014.11.004
Reinfurt, L., Breitenbücher, U., Falkenthal, M., Leymann, F., Riegg, A.: Internet of things patterns for devices. In: 2017 Ninth international Conferences on Pervasive Patterns and Applications (PATTERNS), pp. 117–126 (2017)
Reinfurt, L., Breitenbücher, U., Falkenthal, M., Leymann, F., Riegg, A.: Internet of things patterns for devices: Powering, operating, and sensing. Int. J. Adv. Internet Technol. 10, 106–123 (2017)
Rossi, D., Loi, I., Pullini, A., Benini, L.: Ultra-low-power digital architectures for the internet of things. In: Alioto, M. (ed.) Enabling the Internet of Things, pp. 69–93. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-51482-6_3
Schaarschmidt, M., Uelschen, M., Pulvermüller, E., Westerkamp, C.: Framework of software design patterns for energy-aware embedded systems. In: Proceedings of the 15th International Conference on Evaluation of Novel Approaches to Software Engineering, vol. 1: ENASE. pp. 62–73. INSTICC, SciTePress (2020)
Shu, T., Xia, M., Chen, J., Silva, C.D.: An energy efficient adaptive sampling algorithm in a sensor network for automated water quality monitoring. Sensors 17(11), 2551 (2017). https://doi.org/10.3390/s17112551
Svennebring, J., Logan, J., Engblom, J., Strömblad, P.: Embedded multicore: An introduction (2009). https://www.nxp.com/files-static/32bit/doc/ref_manual/EMBMCRM.pdf
Tan, T.K., Raghunathan, A., Jha, N.K.: Software architectural transformations: a new approach to low energy embedded software. In: Design, Automation, and Test in Europe Conference and Exhibition. pp. 1046–1051. IEEE Computer Society, Los Alamitos (2003). https://doi.org/10.1109/DATE.2003.1253742
Tobola, A., et al.: Sampling rate impact on energy consumption of biomedical signal processing systems. In: IEEE 12th International Conference on Wearable and Implantable Body Sensor Networks (BSN), pp. 1–6. IEEE (2015)
Uelschen, M., Schaarschmidt, M., Fuhrmann, C., Westerkamp, C.: Powermonitor: design pattern for modelling energy-aware embedded systems. In: Proceedings of the International Conference on Embedded Software Companion, EMSOFT 2019, ACM, New York (2019). https://doi.org/10.1145/3349568.3351551
Urard, P., Vučinić, M.: IoT nodes: system-level View. In: Alioto, M. (ed.) Enabling the Internet of Things, pp. 47–68. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-51482-6_2
Yu, K., Han, D., Youn, C., Hwang, S., Lee, J.: Power-aware task scheduling for big.LITTLE mobile processor. In: International SoC Design Conference (ISOCC), 2013, pp. 208–212. IEEE (2013)
Zurawski, R.: Embedded Systems Handbook: Networked Embedded. Network Embedded Systems, Systems. CRC Press, Boston (2017)
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
Schaarschmidt, M., Uelschen, M., Pulvermüller, E., Westerkamp, C. (2021). Energy-Aware Pattern Framework: The Energy-Efficiency Challenge for Embedded Systems from a Software Design Perspective. In: Ali, R., Kaindl, H., Maciaszek, L.A. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2020. Communications in Computer and Information Science, vol 1375. Springer, Cham. https://doi.org/10.1007/978-3-030-70006-5_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-70006-5_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-70005-8
Online ISBN: 978-3-030-70006-5
eBook Packages: Computer ScienceComputer Science (R0)