Tutorial: From Cloud to Bareboard Separating Application and Infrastructure with WebAssembly
Edoardo Tinto, University of Padua, Italy
WitWebAssembly, also known as Wasm, is a portable bytecode, originally designed to run embedded in a browser with comparable-to-native performance. Wasm enforces control flow integrity (CFI) and software fault isolation (SFI) over applications running in an environment with minimal and statically-known contact points with the host.
These characteristics have facilitated the use of WebAssembly, outside of browsers, in embedded systems, enabling the same computation within a WebAssembly module to run unaltered on any device capable of executing Wasm bytecode while enjoying the properties of isolation intended for it.
One direct and most attractive consequence of that condition is that the use of WebAssembly in embedded systems affords a lightweight mechanism to separate application components from the infrastructure, with minimal system requirements. This separation helps system maintenance and evolution by breaking down the monolith, and, combined with scheduling-level isolation mechanisms, allows affording timing predictability and latency control. These expectations cause the interest in the adoption of Wasm in critical embedded systems grow.
This hands-on tutorial presents and discusses the traits that make WebAssembly practical in critical embedded systems, starting from the design choices behind its bytecode specification. This tutorial also reviews the state of the current Wasm ecosystem, for compilation toolchains and execution environments. Most of all, this tutorial illustrates hands-on how to use WebAssembly, paired with a memory-safe programming language, to develop applications made of isolated and live-migratable components.
Presentation topics
- WebAssembly principles
- Building and running WebAssembly bytecode
- WebAssembly within the application
- Checkpoint and restore strategies for Wasm computations
Duration: half-day
Level: Beginners to intermediate.
Reason for attending
Embedded applications are tightly coupled with the hardware provisions on which they are deployed. This approach can attain great control over the program execution, sacrificing deployment flexibility. An emerging technology coming from a completely diff erent domain, WebAssembly, can act as a common execution environment for computation deployed on embedded systems. Its small footprint in terms of resource consumption and system requirements makes it usable also in resource-constrained devices. This tutorial discusses how this technology can effectively contribute to separating the application code from the infrastructure, facilitating the dynamic migration of computation.
Presenter
Edoardo Tinto is a PhD Candidate at the University of Padua, Italy, due to defend his dissertation in the May to July 2026 period. His research interest centers on real-time and distributed systems. His PhD dissertation puts forward a vision of a software infrastructure fit for the Compute Continuum, where application components may enjoy seamless dynamic redeployment and live migration. He has recently joined the German Aerospace Centre (DLR) as a postdoctoral fellow, tasked to facilitate the use of WebAssembly in avionics systems.