Evaluation of transparent energy-saving mechanisms in embedded application - Chagas, Anny Caroline Correa (2021)
During the development of an embedded device, the task of managing power-saving modes is usually delegated to the application developers, especially when a device has limited resources and there isn’t an operating system. This approach produces applications that are harder to read and write and requires developers to know more about the hardware used. In contrast, the power management of embedded devices can significantly reduce power consumption and extend battery life. In this context, we propose the use of transparent energy saving mechanisms of Céu programming language in the development of resource-constrained embedded applications. Its synchronous semantics ensures that reactions to the environment always reach an idle state, in which the language can apply the most efficient power mode for each hardware used. In order to evaluate the use of this language, we compared implementations in Céu and Arduino of two applications: an smart lighting system and a sensor data collection device. To support the implementation of the Céu applications, we have developed energy-aware drivers for digital and analog sensors, as well as a specific driver for the DHT11 temperature and humidity sensor. In both applications, the implementations in Céu proved to be more efficient in terms of energy consumption by at least 30%, with a penalty on increased memory usage. The increase in memory usage was significant in one of the applications and indicates a limitation for the adoption of the language in this context. In contrast, implementations in Céu showed better readability.