Reflection-Based Heterogeneous Migration of Computations

Implementing heterogeneous migration of computations is hard: it demands knowledge of the type of the data in order to be able to capture and restore the computational state. Support for those operations has traditionally been offered through ready-made solutions for specific applications, which are difficult to tailor or adapt to different needs. A more promising approach would be to build specific solutions as needed, over a more general capture and restoration framework. That flexibility can be achieved through computational reflection. This work extends the Lua programming language with a reflective API that provides the programmer fine control over the capture and restoration mechanisms.