Towards fully reflective environments

Modern development environments promote live programming (LP) mechanisms because it enhances the development experience by providing instantaneous feedback and interaction with live objects. LP is typically supported with advanced reflective techniques within dynamic languages. These languages run o...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Chari, G., Garbervetsky, D., Marr, S., Ducasse, S., Steele G.L., Murphy G.C., ACM SIGPLAN
Formato: CONF
Materias:
Acceso en línea:http://hdl.handle.net/20.500.12110/paper_97814503_v_n_p240_Chari
Aporte de:
id todo:paper_97814503_v_n_p240_Chari
record_format dspace
spelling todo:paper_97814503_v_n_p240_Chari2023-10-03T16:43:18Z Towards fully reflective environments Chari, G. Garbervetsky, D. Marr, S. Ducasse, S. Steele G.L. Murphy G.C. ACM SIGPLAN Dynamic Adaptation Live Programming Metaobject-Protocols Reflection Virtual Machines Reflection Development experiences Dynamic adaptations Dynamic languages Execution environments Metaobject protocol Modern development Prototypical implementation Virtual machines Computational linguistics Modern development environments promote live programming (LP) mechanisms because it enhances the development experience by providing instantaneous feedback and interaction with live objects. LP is typically supported with advanced reflective techniques within dynamic languages. These languages run on top of Virtual Machines (VMs) that are built in a static manner so that most of their components are bound at compile time. As a consequence, VM developers are forced to work using the traditional edit-compile-run cycle, even when they are designing LP-supporting environments. In this paper we explore the idea of bringing LP techniques to the VM domain for improving their observability, evolution and adaptability at run-time. We define the notion of fully reflective execution environments (EEs), systems that provide reflection not only at the application level but also at the level of the VM. We characterize such systems, propose a design, and present Mate v1, a prototypical implementation. Based on our prototype, we analyze the feasibility and applicability of incorporating reflective capabilities into different parts of EEs. Furthermore, the evaluation demonstrates the opportunities such reflective capabilities provide for unanticipated dynamic adaptation scenarios, benefiting thus, a wider range of users. © 2015 ACM. Fil:Garbervetsky, D. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. CONF info:eu-repo/semantics/openAccess http://creativecommons.org/licenses/by/2.5/ar http://hdl.handle.net/20.500.12110/paper_97814503_v_n_p240_Chari
institution Universidad de Buenos Aires
institution_str I-28
repository_str R-134
collection Biblioteca Digital - Facultad de Ciencias Exactas y Naturales (UBA)
topic Dynamic Adaptation
Live Programming
Metaobject-Protocols
Reflection
Virtual Machines
Reflection
Development experiences
Dynamic adaptations
Dynamic languages
Execution environments
Metaobject protocol
Modern development
Prototypical implementation
Virtual machines
Computational linguistics
spellingShingle Dynamic Adaptation
Live Programming
Metaobject-Protocols
Reflection
Virtual Machines
Reflection
Development experiences
Dynamic adaptations
Dynamic languages
Execution environments
Metaobject protocol
Modern development
Prototypical implementation
Virtual machines
Computational linguistics
Chari, G.
Garbervetsky, D.
Marr, S.
Ducasse, S.
Steele G.L.
Murphy G.C.
ACM SIGPLAN
Towards fully reflective environments
topic_facet Dynamic Adaptation
Live Programming
Metaobject-Protocols
Reflection
Virtual Machines
Reflection
Development experiences
Dynamic adaptations
Dynamic languages
Execution environments
Metaobject protocol
Modern development
Prototypical implementation
Virtual machines
Computational linguistics
description Modern development environments promote live programming (LP) mechanisms because it enhances the development experience by providing instantaneous feedback and interaction with live objects. LP is typically supported with advanced reflective techniques within dynamic languages. These languages run on top of Virtual Machines (VMs) that are built in a static manner so that most of their components are bound at compile time. As a consequence, VM developers are forced to work using the traditional edit-compile-run cycle, even when they are designing LP-supporting environments. In this paper we explore the idea of bringing LP techniques to the VM domain for improving their observability, evolution and adaptability at run-time. We define the notion of fully reflective execution environments (EEs), systems that provide reflection not only at the application level but also at the level of the VM. We characterize such systems, propose a design, and present Mate v1, a prototypical implementation. Based on our prototype, we analyze the feasibility and applicability of incorporating reflective capabilities into different parts of EEs. Furthermore, the evaluation demonstrates the opportunities such reflective capabilities provide for unanticipated dynamic adaptation scenarios, benefiting thus, a wider range of users. © 2015 ACM.
format CONF
author Chari, G.
Garbervetsky, D.
Marr, S.
Ducasse, S.
Steele G.L.
Murphy G.C.
ACM SIGPLAN
author_facet Chari, G.
Garbervetsky, D.
Marr, S.
Ducasse, S.
Steele G.L.
Murphy G.C.
ACM SIGPLAN
author_sort Chari, G.
title Towards fully reflective environments
title_short Towards fully reflective environments
title_full Towards fully reflective environments
title_fullStr Towards fully reflective environments
title_full_unstemmed Towards fully reflective environments
title_sort towards fully reflective environments
url http://hdl.handle.net/20.500.12110/paper_97814503_v_n_p240_Chari
work_keys_str_mv AT charig towardsfullyreflectiveenvironments
AT garbervetskyd towardsfullyreflectiveenvironments
AT marrs towardsfullyreflectiveenvironments
AT ducasses towardsfullyreflectiveenvironments
AT steelegl towardsfullyreflectiveenvironments
AT murphygc towardsfullyreflectiveenvironments
AT acmsigplan towardsfullyreflectiveenvironments
_version_ 1807320546524790784