‹Programming› 2022
Mon 11 - Thu 14 April 2022
Wed 23 Mar 2022 13:30 - 15:00 at OpenSpace - Posters Session | OpenSpace II

The basic building blocks for the Internet of Things (IoT) are microcontrollers, which are usually programmed in low level programming languages such as C for efficiency. Unfortunately, writing correct software at this abstraction level is difficult and time-consuming. To make matters even worse, remote debugging is often not available. To alleviate this, we have created WARDuino, a virtual machine capable of running WebAssembly (Wasm) with live code update and debugging support. WARDuino only supports standard Wasm and cannot communicate over the internet, a crucial requirement of any IoT application.

In this work we extend the WARDuino VM to support fully fledged IoT programs written in high-level languages. We add support for the two most widely used IoT protocols: HTTP and MQTT. In order to support the asynchronous nature of MQTT we extend Wasm and the VM with a new callback system which allows us to execute callback functions defined in Wasm. We also construct a complete formal description for this extension. Finally we adapt the VM to also support programs written in high-level languages rather than only plain Wasm code. This involves creating a symbiosis between the foreign constructs of the high-level language and the basic numeric types of Wasm. We illustrate our symbiosis mechanism by adding support for Rust and AssemblyScript to WARDuino. To evaluate our work we created a fully fledged IoT demo in Rust and let it run continuously for several days. This showed our implementation is stable and has the expected performance.

Wed 23 Mar

Displayed time zone: Lisbon change

13:30 - 15:00
Posters Session | OpenSpace IIPosters and Demonstrations at OpenSpace
13:30
90m
Poster
Genetic Engine: Grammar-Guided Genetic Programming without the grammar (poster)
Posters and Demonstrations
Leon Ingelse LASIGE, Faculdade de Ciências da Universidade de Lisboa, Guilherme Espada LASIGE, Faculdade de Ciências, Universidade de Lisboa, Paulo Canelas LASIGE, Faculdade de Ciências da Universidade de Lisboa, Pedro Barbosa LASIGE, Alcides Fonseca LASIGE, Faculty of Sciences, University of Lisbon
13:30
90m
Poster
Less Is More: Merging AST Nodes To Optimize Interpreters (poster)
Posters and Demonstrations
Octave Larose University of Kent, Sophie Kaleba University of Kent, Stefan Marr University of Kent
13:30
90m
Poster
Enhancing DrRacket with Dodona for Learning Scheme (poster)
Posters and Demonstrations
13:30
90m
Poster
WARDuino IoT: Virtual Machine Technology for Programming IoT Applications on Embedded Systems (poster)
Posters and Demonstrations
Robbert Gurdeep Singh Universiteit Gent, Belgium, Tom Lauwaerts Universiteit Gent, Belgium, Christophe Scholliers Universiteit Gent, Belgium