Ravel: Programming IoT Applications as Distributed Models, Views, and Controllers
Protothreads: simplifying event-driven programming of memory-constrained embedded systems