Abstract
An Internet of Things (IoT) system typically comprises numerous subsystems and devices, such as sensors, actuators, gateways for internet connectivity, cloud services, end-user applications, and analytics. Currently, these subsystems are built using a wide range of programming technologies and tools, posing challenges in migrating functionality between them. In our previous work, we have proposed so-called liquid software, where different subsystems are developed using a consistent set of technologies and functions can flow from one computer to another. In this paper, we introduce a prototype implementation of liquid artificial intelligence features, which can be flexibly deployed at the cloud-edge continuum.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Ahmadighohandizi, F., Systä, K.: Application development and deployment for IoT devices. In: Lazovik, A., Schulte, S. (eds.) ESOCC 2016. CCIS, pp. 74–85. Springer International Publishing, Cham (2018). https://doi.org/10.1007/978-3-319-72125-5_6
Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language. Addison Wesley Professional, Boston (2005)
Andrew, B., Sun, M.: Neural Network proposal for WASI. https://github.com/WebAssembly/wasi-nn. Accessed 09 May 2023
Bryant, D.: WebAssembly outside the browser: a new foundation for pervasive computing. In: Keynote at ICWE 2020, June 9–12, Helsinki, Finland (2020)
Bytecode Alliance: Welcome to WASI. https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-intro.md. Accessed 05 Dec 2022
Cloud Native Computing Foundation: WasmEdgeRuntime. https://wasmedge.org/, Accessed 09 May 2023
Gallidabino, A., Pautasso, C., Ilvonen, V., Mikkonen, T., Systä, K., Voutilainen, J.P., Taivalsaari, A.: On the architecture of liquid software: technology alternatives and design space. In: 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 122–127. IEEE (2016)
Gallidabino, A., Pautasso, C., Mikkonen, T., Systa, K., Voutilainen, J.P., Taivalsaari, A.: Architecting liquid software. J. Web Eng. 16, 433–470 (2017)
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 (2019). https://doi.org/10.1145/3302505.3310084
Hartman, J., Manber, U., Peterson, L., Proebsting, T.: Liquid software: A new paradigm for networked systems. Technical report, Technical Report 96 (1996)
Hartman, J.J., et al.: Joust: a platform for liquid software. Computer 32(4), 50–56 (1999)
Kotilainen, P., Järvinen, V., Tarkkanen, J., Autto, T., Das, T., Waseem, M., Mikkonen, T.: WebAssembly in IoT: beyond toy examples. In: Garrigós, I., Murillo Rodríguez, J.M., Wimmer, M. (eds.) Web Engineering. ICWE 2023. LNCS, vol. 13893, pp. 93–100 Springer, Cham (2023). https://doi.org/10.1007/978-3-031-34444-2_7
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.) PROFES 2022. LNCS, vol. 13709, pp. 621–627. Springer, Cham (2022)
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 209 Dec 2022
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
Moreschini, S., Pecorelli, F., Li, X., Naz, S., Hästbacka, D., Taibi, D.: Cloud continuum: the definition. IEEE Access 10, 131876–131886 (2022)
Peltonen, E., et al.: The many faces of edge intelligence. IEEE Access 10, 104769–104782 (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 2023
Rossberg, A.: WebAssembly Core Specification. https://www.w3.org/TR/wasm-core-2/. Accessed 09 Dec 2022
Sonos: Tract. https://github.com/sonos/tract. Accessed 09 May 2023
Strimpel, J., Najim, M.: Building Isomorphic JavaScript Apps: From Concept to Implementation to Real-World Solutions. O’Reilly Media, Sebastopol (2016)
Systä, K., Pautasso, C., Taivalsaari, A., Mikkonen, T.: LiquidAI: towards an isomorphic AI/ML system architecture for the cloud-edge continuum. In: Garrigós, I., Murillo Rodríguez, J.M., Wimmer, M. (eds.) ICWE 2023. LNCS, vol. 13893, pp. 67–74. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-34444-2_5
Taivalsaari, A., Mikkonen, T.: A roadmap to the programmable world: software challenges in the IoT era. IEEE Softw. 34(1), 72–80 (2017)
Taivalsaari, A., Mikkonen, T.: On the development of IoT systems. In: 2018 Third International Conference on Fog and Mobile Edge Computing (FMEC), pp. 13–19. IEEE (2018)
Taivalsaari, A., Mikkonen, T., Systä, K.: Liquid software manifesto: the era of multiple device ownership and its implications for software architecture. In: 2014 IEEE 38th Annual Computer Software and Applications Conference, pp. 338–343. IEEE (2014)
The OpenVino Project: OpenVino documentation. https://docs.openvino.ai/. Accessed 13 June 2023
The PyTorch Project: PyTorch. https://pytorch.org/. Accessed 13 June 2023
The TensorFlow Project: TensorFlow for Mobile & Edge. https://www.tensorflow.org/lite. Accessed 13 June 2023
The World Wide Web Consortium (W3C): Web Neural Network API. https://www.w3.org/TR/webnn/. Accessed13 June 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
wasmCloud Project: wasmCloud. https://wasmcloud.com/. Accessed 30 Nov 2022
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., Heikkilä, V., Systä, K., Mikkonen, T. (2023). Towards Liquid AI in IoT with WebAssembly: A Prototype Implementation. In: Younas, M., Awan, I., Grønli, TM. (eds) Mobile Web and Intelligent Information Systems. MobiWIS 2023. Lecture Notes in Computer Science, vol 13977. Springer, Cham. https://doi.org/10.1007/978-3-031-39764-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-031-39764-6_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-39763-9
Online ISBN: 978-3-031-39764-6
eBook Packages: Computer ScienceComputer Science (R0)