An Esterel Virtual Machine for Embedded Systems
Embedded systems often suffer from severe resource constraints such as limited memory for programs and data. In this paper, the authors address the problem of compiling the Esterel synchronous language for processors with such constraints. They introduce a virtual machine that executes a compact bytecode designed specifically for executing Esterel and present a compiler for it. The technique generates code that is roughly half the size of optimized C code compiled using existing techniques. They demonstrate the utility of the approach on the Lego RCX controller for the Mindstorms system. While they are not the first to execute Esterel on the RCX, the technique will allow larger programs than were previously possible.