WebAssembly for IoT (wasm4iot)

Application development for modern IoT systems is held back by many of the constraints of low-resource embedded processors. The memory and processing abilities of IoT devices do not support the tools utilized in other application domains like cloud-native, which profit from automatic application deployment, monitoring, and scaling.

WebAssembly is a modern, high-level, virtual machine that, due to its features and efficient semantics, can easily be implemented on most IoT devices. This can streamline the process of developing and managing software on embedded systems and solve many challenges associated with utilizing heterogeneous, low-resource devices.

Some advantages WebAssembly can bring to embedded systems are:

  • Sandboxed, efficient multiprocess devices.
  • Fault tolerance, monitoring, and lifecycle management of IoT applications.
  • Automatic (re-)deployment of applications based on device type and features.
  • Emulation of missing hardware features using a WebAssembly interface.
  • Binary compatibility with various devices and generations.

At AEMY, we are working on an ecosystem of efficient, practical WebAssembly runtimes and supporting tools for embedded systems.

Projects

Wasm4IoT Quickstart (WIP)

Publications

Support for Just-in-Time Compilation of WebAssembly for Embedded Systems (2023) Potential of WebAssembly for Embedded Systems (2022)