
WebAssembly's expansion outside the browser has unlocked a host of new benefits in the world of embedded systems and is growing in popularity among developers, given its rapid evolution into a universal runtime capable of delivering advantages across diverse hardware and software environments.
Initially developed for web browsers to address the limitations of JavaScript, WebAssembly has found its way into everything from cloud-native applications to the Amazon Fire TV and, more recently, tiny edge devices like Sony Midokura cameras and sensors.
Its combination of security, efficiency, portability, and programming language-agnostic design makes WebAssembly a great way to leverage cloud-native principles for revolutionizing software development of embedded, edge computing, and IoT devices.
Earlier this month, ARC Advisory Group published a new white paper that looks at the immense potential WebAssembly has to bring these software development benefits to industrial companies.
Authored by analyst Harry Forbes, the white paper specifically highlights how WebAssembly provides portable executable code that can run on a wide variety of hardware platforms, scaling from the cloud down to extremely small and constrained devices. The white paper also features Atym, a software company with a WebAssembly-based solution that enables developers to develop, deploy, and manage containerized applications for billions of resource-constrained edge devices.
A decade in the making, WebAssembly has been attracting greater attention within the IoT and cloud-native software community, given the overall expansion of automated industrial systems and scalability and flexibility benefits. Portability is becoming increasingly important for applications as more connected systems with smaller-footprint edge devices are becoming commonplace.
Developers of industrial software are interested in WebAssembly for these same reasons, according to the white paper, The Attraction of WebAssembly for Embedded Industrial Software.
"WebAssembly is built on a stack-based virtual machine architecture, where instructions operate on a stack of operands rather than directly addressing registers," said Stephen Berard, CTO of Atym. "This design simplifies the execution model and provides a platform-agnostic foundation for running Wasm modules."
Instructions in WebAssembly are designed to be compact and efficient, performing operations like arithmetic, memory access, function calls, and control flow by manipulating the operand stack, Berard explained, as "each operation pushes and pops values from the stack, enabling a straightforward, linear flow of execution. This stack-based design eliminates the need for hardware-specific register allocations, making WebAssembly highly portable across diverse architectures."
Berard also said WebAssembly simplifies the runtime's job of translating Wasm instructions into native machine code, enabling runtimes to achieve near-native performance. "WebAssembly's stack-based architecture reduces implementation complexity, which allows for the creation of compact and lightweight runtimes, making it ideal for resource-constrained environments such as edge devices and embedded systems."
Also, with a linear memory model and compact binary format, WebAssembly serves as a robust foundation for developing and deploying secure, efficient, and portable applications spanning the cloud to the edge, supporting cloud computing, particularly in the Industrial IoT sphere.
Atym is a key contributor to the Linux Foundation's Ocre project, which utilizes WebAssembly to enable OCI-type application containers with a footprint over 1,000 times lighter than Linux-based container runtimes such as Docker and Podman.
In addition to its immense potential to enable resource-constrained IoT industrial devices to be deployed, managed, and maintained using modern cloud-native software methods that have previously been impossible, breakthrough approaches today can extend container technology to hardware that can't support Docker, much less Linux.
Applications can be programmed in different languages (e.g., C, Rust, Golang) and executed on devices in isolated containers, providing greater development flexibility, security, and IP protection, and individual containers can be fractionally updated on devices without requiring a reboot or impacting the overall code base.
"Benefits include significantly reduced development complexity and cost, improved security and manageability, and simplified ecosystem collaboration – especially when implementing new technologies like on-device AI/ML," Forbes writes.
ARC and Atym are presenting a webinar on March 19, hosted by ARC Advisory's Patrick Arnold and the co-founders of Atym, which will feature more about the technology, benefits, and use cases in the embedded space, and industry collaboration among leading companies, including Bosch, Emerson, and Siemens.
Arti Loftus is an experienced Information Technology specialist with a demonstrated history of working in the research, writing, and editing industry with many published articles under her belt.Edited by
Erik Linask