Octopi kick-off hacking workshop

Hello world! Here’s a sneak peak into our kick-off week (Sept. 14th – Sept 20th) during which we had our official project kick-off meeting and various sessions on programming IoT devices. The detailed program can be found here. The sessions were conducted by invited guests, who are experts in programming embedded devices in the academia and in the industry. Our faculty team, consisting of experts in programming languages and security, invited leaders in the IoT world to understand and learn about problems in the IoT space.

Below, you can find a brief description of the sessions along with a few snaps.

Day 1

Our kick-off meeting, say hello!

We invited Olaf Landsiedel, from Chalmers, to give us a tutorial about Contiki-ng, an open source cross platform operating system for IoT devices. Below, you can find us hacking C to implement a small application using protothreads (an abstraction for programming event based systems) in Contiki-ng.

Day 2

On day 2, we had LumenRadio AB give us a talk on their flagship product Mira, with a special focus on MiraOS, an operating system which enables effective programming of a wireless mesh network of IoT devices.

Day 3

On day 3, we were taught Rust by Amit Levy from Princeton University. Rust is a systems programming language with a powerful type system. It’s novel approach to memory management (called the ownership model) guarantees memory safety without needing a garbage collector. This makes an appealing choice for programming IoT devices, since embedded devices used in IoT applications are constrained in their memory and power usage, and cannot afford the luxury of running a garbage collector.

Day 4

On day 4, we continued the journey with Amit (and Rust!) into programming TI launchpads in Rust using TockOS, a secure embedded operating system. Using Rust’s type and module system,¬†TockOS isolates different software components from interfering with each other. As a result, the resource access of components can be specified and checked at compile time, hence enabling stronger security guarantees. TockOS serves as prime example for programming language based security.

Hello Kernel!

And finally, we end our exciting week of hacking sessions with some mingle over dinner.