通过包含驱动程序的基于 WebAssembly 的功能扩展延长嵌入式系统寿命
软件工程
2025-03-11 v1
摘要
容器化已成为软件开发中无处不在的工具。由于其众多优势(包括平台互操作性和对不可信第三方代码的安全执行),这项技术对工业自动化而言是一大福音,有望为其固有的挑战提供帮助——除了一点,即与物理设备的交互。不幸的是,这对广泛采用构成了实质性障碍。为应对这一挑战,我们提出了 Wasm-IO,这是一个旨在促进 WebAssembly (Wasm) 容器内外设 I/O 操作的框架。我们阐明了在 Wasm 中开发任意设备驱动程序的基本方法和各种实现。由此,我们满足了工业自动化领域的需求,在该领域中,设备寿命的延长与不断变化的监管要求和市场压力,与供应商对部署后系统修改以纳入新的、隔离的驱动程序的责任关切形成了根本性的矛盾。在本文中,我们详细介绍了同步 I/O 以及在 Wasm 二进制文件中嵌入平台无关外设配置的方法。我们引入了一个扩展的优先级模型,该模型能够在 Wasm 中处理中断,同时保持时间隔离。我们的评估表明,我们提出的 Wasm 隔离可以显著降低延迟和开销。我们的驱动程序案例研究结果证实了这一点。最后,我们讨论了利用 Wasm-IO 的总体系统设计,包括调度方法。
引用
@article{arxiv.2503.07553,
title = {Extending Lifetime of Embedded Systems by WebAssembly-based Functional Extensions Including Drivers},
author = {Maximilian Seidler and Alexander Krause and Peter Ulbrich},
journal= {arXiv preprint arXiv:2503.07553},
year = {2025}
}