Metaphysics: Towards a Robust Framework for Remotely Working with Potentially Broken Objects and Runtimes
Dynamic Metacircular Runtimes (DMRs) enable a new way of developing Virtual Machines (VMs). Instead of writing VMs by manipulating files, DMR programmers work on a running system by modifying its methods, classes and, more generally, objects. This development workflow has both advantages and disadvantages. While it allows us to more easily understand the behavior of the system by showing it alive, it is also problematic, because the system relies on itself to be constantly working.
In this work, we experiment with adapting such live programming tools to make them safer for the development of core DMR components. Furthermore, we make them robust so that they can work on crashed DMRs or systems not that are currently fully working. This paper describes Metaphysics, a framework that combines mirrors and proxies to reify different message execution semantics, allowing execution of code by mixing behavior of a remote, possibly broken system with a local fully-working one. With Metaphysics we were able to create native code debugging and profiling tools. These new tools make full use of the metacircularity of our Bee DMR and enable a dynamic, fast-paced edit-test workflow like the one we are used to when developing application-level code, instead of the classic edit-compile-get-coffee-test cycle used for state-of-the-art VMs.
|Work-in-Progress Paper (meta17-final12.pdf)||429KiB|
Sun 22 Oct
|13:30 - 14:00|
|14:00 - 14:30|
Metaphysics: Towards a Robust Framework for Remotely Working with Potentially Broken Objects and RuntimesFile Attached
|14:30 - 15:00|