VMs are complex pieces of software that implement programming language semantics in an efficient, portable, and secure way. Unfortunately, mainstream VMs provide applications with few mechanisms to alter execution semantics or memory management at run time. We argue that this limits the evolvability and maintainability of running systems for both, the application domain, e.g., to support unforeseen requirements, and the VM domain, e.g., to modify the organization of objects in memory. This work explores the idea of incorporating reflective capabilities into the VM domain and analyzes its impact in the context of software adaptation tasks. We characterize the notion of a fully reflective VM, a kind of VM that provides means for its own obser...
In dynamic object-oriented languages, low-level mechanisms such as just-in-time compilation, object ...
found in situations involving the meta-data of storage Recoverable virtual memory refers to regions ...
With the increased use of "Virtual Machines" (VMs) as vehicles that isolate applications running on ...
International audienceVMs are complex pieces of software that implement programming language semanti...
Programming language virtual machines (VMs) realize language semantics, enforce security properties,...
It has become common for software systems to require or benefit from dynamic adaptation, i.e., to mo...
Modern development environments promote live programming (LP) mechanisms because it enhances the dev...
Language Virtual Machines (VMs) are pervasive in every laptop, server, and smartphone, as is the cas...
Abstract. Reflection is one of the main techniques used to develop adaptable sys-tems and, currently...
This thesis presents work which is concerned with the run-time evolution of component-based softwar...
Distributed applications and middleware systems typically involve language and system-wide heterogen...
To support development tools like debuggers, runtime systems need to provide a meta-programming inte...
Computational reflection is a well-established technique that gives a program the ability to dynamic...
Abstract machines have been used as an implementation mechanism for programming languages for more t...
In dynamic object-oriented languages, low-level mechanisms such as just-in-time compilation, object ...
found in situations involving the meta-data of storage Recoverable virtual memory refers to regions ...
With the increased use of "Virtual Machines" (VMs) as vehicles that isolate applications running on ...
International audienceVMs are complex pieces of software that implement programming language semanti...
Programming language virtual machines (VMs) realize language semantics, enforce security properties,...
It has become common for software systems to require or benefit from dynamic adaptation, i.e., to mo...
Modern development environments promote live programming (LP) mechanisms because it enhances the dev...
Language Virtual Machines (VMs) are pervasive in every laptop, server, and smartphone, as is the cas...
Abstract. Reflection is one of the main techniques used to develop adaptable sys-tems and, currently...
This thesis presents work which is concerned with the run-time evolution of component-based softwar...
Distributed applications and middleware systems typically involve language and system-wide heterogen...
To support development tools like debuggers, runtime systems need to provide a meta-programming inte...
Computational reflection is a well-established technique that gives a program the ability to dynamic...
Abstract machines have been used as an implementation mechanism for programming languages for more t...
In dynamic object-oriented languages, low-level mechanisms such as just-in-time compilation, object ...
found in situations involving the meta-data of storage Recoverable virtual memory refers to regions ...
With the increased use of "Virtual Machines" (VMs) as vehicles that isolate applications running on ...