Abstract
WebAssembly enables running the same application code in a range of devices in headless mode outside the browser. Furthermore, it has been proposed that WebAssembly applications can be made isomorphic so that they can be liberally allocated to a set of computers that comprise the runtime environment. In this paper, we explore if WebAssembly truly enables the development of comprehensive IoT applications with the same ease as more traditional techniques would enable.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language. Addison Wesley Professional, Boston (2005)
Bryant, D.: WebAssembly outside the browser: a new foundation for pervasive computing. Keynote at ICWE’20, 9–12 June, Helsinki, Finland (2020)
Bytecode Alliance: Welcome to WASI. https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-intro.md. Accessed 05 Dec 2022
Smilkov, D., Thorat, N., Yuan, A.: Introducing the WebAssembly backend for TensorFlow.js. https://blog.tensorflow.org/2020/03/introducing-webassembly-backend-for-tensorflow-js.html. Accessed 11 Mar 2020
De Macedo, J., Abreu, R., Pereira, R., Saraiva, J.: On the runtime and energy performance of webassembly: is WebAssembly superior to JavaScript yet? In: 2021 36th IEEE/ACM International Conference on Automated Software Engineering Workshops (ASEW), pp. 255–262. IEEE (2021)
Hall, A., Ramachandran, U.: An execution model for serverless functions at the edge. In: Proceedings of the International Conference on Internet of Things Design and Implementation, pp. 225–236. IoTDI 2019, Association for Computing Machinery, New York, NY, USA, April 2019. https://doi.org/10.1145/3302505.3310084
Kaebisch, S., Kamiya, T., McCool, M., Charpenay, V., Kovatsch, M.: Web of Things (WoT) Thing Description. https://www.w3.org/TR/wot-thing-description/. Accessed 09 Dec 2022
Kaitai project: Kaitai home page. https://kaitai.io/. Accessed 24 Jan 2023
Kim, M., Jang, H., Shin, Y.: Avengers, assemble! Survey of WebAssembly security solutions. In: 2022 IEEE 15th International Conference on Cloud Computing (CLOUD), pp. 543–553. IEEE (2022)
Kotilainen, P., Autto, T., Järvinen, V., Das, T., Tarkkanen, J.: Proposing isomorphic microservices based architecture for heterogeneous IoT environments. In: Taibi, D., Kuhrmann, M., Mikkonen, T., Klünder, J., Abrahamsson, P. (eds.) Product-Focused Software Process Improvement. PROFES 2022. LNCS, vol. 13709, pp. 621–627. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-21388-5_47
Lehmann, D., Kinder, J., Pradel, M.: Everything old is new again: binary security of \(\{\)WebAssembly\(\}\). In: 29th USENIX Security Symposium (USENIX Security 20), pp. 217–234 (2020)
Li, B., Dong, W., Gao, Y.: Wiprog: a webassembly-based approach to integrated IoT programming. In: IEEE INFOCOM 2021-IEEE Conference on Computer Communications, pp. 1–10. IEEE (2021)
Li, B., Fan, H., Gao, Y., Dong, W.: ThingSpire OS: a WebAssembly-based IoT operating system for cloud-edge integration. In: Proceedings of the 19th Annual International Conference on Mobile Systems, Applications, and Services, pp. 487–488 (2021)
Long, J., Tai, H.Y., Hsieh, S.T., Yuan, M.J.: A lightweight design for serverless function as a service. IEEE Softw. 38(1), 75–80 (2020)
Losant IoT Inc: Embedded Edge Agent. https://docs.losant.com/edge-compute/embedded-edge-agent/overview/. Accessed 09 Nov 2022
Mäkitalo, N., Bankowski, V., Daubaris, P., Mikkola, R., Beletski, O., Mikkonen, T.: Bringing WebAssembly up to speed with dynamic linking. In: Proceedings of the 36th Annual ACM Symposium on Applied Computing, pp. 1727–1735 (2021)
Mäkitalo, N., et al.: WebAssembly modules as lightweight containers for liquid IoT applications. In: Brambilla, M., Chbeir, R., Frasincar, F., Manolescu, I. (eds.) ICWE 2021. LNCS, vol. 12706, pp. 328–336. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-74296-6_25
Massey, S., Shymanskyy, V.: wasm3: The fastest WebAssembly interpreter, and the most universal runtime. https://github.com/wasm3/wasm3. Accessed 09 Dec 2022
Mendki, P.: Evaluating WebAssembly enabled serverless approach for edge computing. In: 2020 IEEE Cloud Summit, pp. 161–166. IEEE (2020)
Mikkonen, T., Pautasso, C., Taivalsaari, A.: Isomorphic Internet of Things architectures with web technologies. Computer 54(7), 69–78 (2021)
Mikkonen, T., Systä, K., Pautasso, C.: Towards liquid web applications. In: Cimiano, P., Frasincar, F., Houben, G.-J., Schwabe, D. (eds.) ICWE 2015. LNCS, vol. 9114, pp. 134–143. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19890-3_10
Mikkonen, T., Taivalsaari, A.: Software reuse in the era of opportunistic design. IEEE Softw. 36(3), 105–111 (2019)
Mozilla: WebAssembly. https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Memory. Accessed 05 Jan 2023
Oliveira, F., Mattos, J.: Analysis of WebAssembly as a strategy to improve JavaScript performance on IoT environments. In: Anais Estendidos do X Simpósio Brasileiro de Engenharia de Sistemas Computacionais, pp. 133–138. SBC (2020)
OpenAPI Initiative: OpenAPI Specification. https://github.com/OAI/OpenAPI-Specification. Accessed 09 Dec 2022
Padmanabhan, S., Jha, P.: WebAssembly at eBay: A Real-World Use Case. https://tech.ebayinc.com/engineering/webassembly-at-ebay-a-real-world-use-case/. Accessed 22 May 2019
Raymond Hill. 2019.: gorhill/uBlock. https://github.com/gorhill/uBlock. Accessed 09 Dec 2022
Rossberg, A.: Introduction - WebAssembly 1.1 (Draft 2022–04-05). https://www.w3.org/TR/wasm-core-2/intro/introduction.html. Accessed 12 Jan 2022
Strimpel, J., Najim, M.: Building Isomorphic JavaScript Apps: From Concept to Implementation to Real-World Solutions. O’Reilly Media, Sebastopol (2016)
Swagger project: Swagger home page. https://swagger.io/. Accessed 24 Jan 2023
Vetere, P.: Why wasm is the future of cloud computing. https://www.infoworld.com/article/3678208/why-wasm-is-the-future-of-cloud-computing.html. Accessed 09 Dec 2022
Wang, W.: Empowering web applications with WebAssembly: are we there yet? In: 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 1301–1305. IEEE (2021)
wasmCloud Project: wasmCloud home page. https://wasmcloud.com/. Accessed 30 Jan 2022
Wen, E., Weber, G.: Wasmachine: bring IoT up to speed with a WebAssembly OS. In: 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pp. 1–4. IEEE (2020)
Acknowledgments
This work has been supported by Business Finland (project LiquidAI, 8542/31/2022).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Kotilainen, P. et al. (2023). WebAssembly in IoT: Beyond Toy Examples. In: Garrigós, I., Murillo Rodríguez, J.M., Wimmer, M. (eds) Web Engineering. ICWE 2023. Lecture Notes in Computer Science, vol 13893. Springer, Cham. https://doi.org/10.1007/978-3-031-34444-2_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-34444-2_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-34443-5
Online ISBN: 978-3-031-34444-2
eBook Packages: Computer ScienceComputer Science (R0)