Stream: general

Topic: Industrial Applications


view this post on Zulip Chris Woods (Nov 16 2021 at 22:43):

Hello All. We are investigating the use of WASM for industrial applications; controlling robots / cyber physical systems, etc. As part of this we are conducting some performance tests and evaluations on the real-time capabilities of WebAssembly. Jitter times, response times to physical inputs. We're also doing a lot of work on hardware / software integration. This work at the moment should, we hope, result in a paper we can publish providing everyone with some analysis of what we've found. We'd be more than happy to provide sneak peaks, and discuss methodologies we are using along the way too.

At a higher level, we are also looking into how WASM modules can be orchestrated, so of course using Kubernetes. Krustlet is a nice technology demo, but we're starting to research / produce concepts on which would separate the north bound kubernetes interfaces from the WASM runtime environments. In part to support deployment in lower end hardware, and in part to provide an additional isolation between anything running in the runtime, and the control interface - increasing the robustness.

As we go through this process we are discovering gaps in the functionality - We've ideas for the APIs and interfaces we are looking for to support the industrial use cases we are attempting to address, and we are checking the APIs provided by several WASM runtime implementations, and of course the standardized API set provided by WASI..... everything from pluggable designs for hardware integration to communication stack integration.

In an ideal world, the features / functionality / interfaces we are looking for could be widely supported across a number or runtime environments - and of course I know that there may be many ways in which these can be addresses.

I'm guessing that we are not the first set of people to start looking at these issues, and I'm just trying to reach out to see if anyone else has done this kind of analysis before? -- I'd love to chat, and catchup on what I've missed within the community, and learn more about how we can help in this area.

Thanks!
PS: Sorry about the long read!

view this post on Zulip fitzgen (he/him) (Nov 17 2021 at 18:58):

I don't know of anyone specifically targeting industrial applications, but WASI is the place where interfaces are standardized and interface types is the grammar with which interfaces are defined

We also have a tool to generate the ABI glue code for various languages given an interface:

Contribute to WebAssembly/interface-types development by creating an account on GitHub.
A language binding generator for WebAssembly interface types - GitHub - bytecodealliance/wai-bindgen: A language binding generator for WebAssembly interface types

Last updated: Dec 23 2024 at 12:05 UTC