A Virtual Machine for Higher-Order Reactors
We present the design of a Remus, a virtual machine for reactive (RP) programs - signal-based programs that react automatically to changes - that is currently under development. The design of Remus been tailored specifically for reactive programs: it has a dedicated instruction set and memory model that is compatible with the model of reactive programming. The virtual machine allows reactive programs to be evaluated without needing to compile them to native code, nor by running them on an existing (general-purpose) virtual machine that is not specific to RP. The model of the virtual machine makes it possible to reason over the various behavioural aspects of a reactive program, such as memory consumption, in a language-agnostic way. As an example, we propose a simple static analysis that aims to eliminate dynamic allocations that occur in dynamic reactive programs: i.e., programs where the dependencies between the signals that make up a program changes at run-time. We show that our virtual machine, supplemented by the results of the analysis, allows for (well-behaved) reactive programs to be evaluated in constant space (i.e. in bounded memory) even when dependencies change or new signals are created programmatically.
Tue 12 MarDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:00 - 15:00 | |||
13:00 60mTalk | Virtual Machines: should we keep doing them?MoreVMs Invited Talk MoreVMs Javier Pimás Universidad de Buenos Aires | ||
14:00 30mTalk | BoaSpect: An Expressive Instrumentation Platform for JavaScript MoreVMs Aäron Munsters Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Angel Luis Scull Pupo Sofware Languages Lab, Vrije Universiteit Brussel | ||
14:30 30mTalk | A Virtual Machine for Higher-Order Reactors MoreVMs Bjarno Oeyen Vrije Universiteit Brussel, Jens Nicolay Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel |