Experimental analysis measures scalability and fault tolerance in embedded systems, indicating Erlang's potential for efficient IoT applications.
Embedded systems in IoT are expected to be run by reliable, resource-efficient software. Devices on the edge are typically required to communicate with central nodes, and in some setups with each other, constituting a distributed system. The Erlang language, favored for its constructs that support building fault-tolerant, distributed systems, offers solutions to these challenges. Its dynamic type system and higher-level abstractions enable fast development, while also featuring tools for building highly available and fault-tolerant applications. To study the viability of using Erlang in embedded systems, we analyze the solutions the language offers, contrasting them with the challenges of developing embedded systems, with a particular focus on resource use. We measure the footprint of the language’s constructs in executing tasks characteristic of end devices, such as gathering, processing and transmitting sensor data. We conduct our experiments with constructs and data of varying sizes to account for the diversity in software complexity of real-world applications. Our measured data can serve as a basis for future research, supporting the design of the software stack for embedded systems. Our results demonstrate that Erlang is an ideal technology for implementing software on embedded systems and a suitable candidate for developing a prototype for a real-world use case.
No takes yet. Share an insight, caveat, or question.
Ferenczi et al. (2025) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: