Fully-reflective VMs for ruling software adaptation

A recent survey on paradigms for software adaptation at the language level assessed contemporary reflective systems (RS), aspect-oriented programming (AOP), and context-oriented programming (COP) as three well-established approaches. The survey did not find a clear winner. Our opinion is that this i...

Descripción completa

Detalles Bibliográficos
Publicado: 2017
Materias:
Acceso en línea:https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_97815386_v_n_p229_Chari
http://hdl.handle.net/20.500.12110/paper_97815386_v_n_p229_Chari
Aporte de:
id paper:paper_97815386_v_n_p229_Chari
record_format dspace
spelling paper:paper_97815386_v_n_p229_Chari2023-06-08T16:37:59Z Fully-reflective VMs for ruling software adaptation Reflection Software Adaptation Virtual Machines Application programs Aspect oriented programming Network security Reflection Software engineering Surveys Virtual machine Adaptation scenarios Aspect-Oriented Programming (AOP) Context oriented programming Direct modification Execution environments Language levels Reflective systems Software adaptation C (programming language) A recent survey on paradigms for software adaptation at the language level assessed contemporary reflective systems (RS), aspect-oriented programming (AOP), and context-oriented programming (COP) as three well-established approaches. The survey did not find a clear winner. Our opinion is that this is due to the fact that none of these approaches is flexible enough to handle the diversity of possible adaptation scenarios. The reason is that instead of operating directly on the entity that conceptually requires the adaptation, these approaches often require to handle the adaptations in an indirect fashion. In this paper we advocate that a suitable paradigm for software adaptation at the language level must enable direct modification to every concept at both, the application and the execution environment level. This is enabled by a Fully-Reflective Execution Environment (FREE), a flavor of virtual machine in which every component such as the interpreter and the memory is accessible for inspection and modification, programmatically, and at run time. Consequently, we advocate and illustrate how the notion of a FREE extends RS and subsumes AOP and COP. © 2017 IEEE. 2017 https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_97815386_v_n_p229_Chari http://hdl.handle.net/20.500.12110/paper_97815386_v_n_p229_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 Reflection
Software Adaptation
Virtual Machines
Application programs
Aspect oriented programming
Network security
Reflection
Software engineering
Surveys
Virtual machine
Adaptation scenarios
Aspect-Oriented Programming (AOP)
Context oriented programming
Direct modification
Execution environments
Language levels
Reflective systems
Software adaptation
C (programming language)
spellingShingle Reflection
Software Adaptation
Virtual Machines
Application programs
Aspect oriented programming
Network security
Reflection
Software engineering
Surveys
Virtual machine
Adaptation scenarios
Aspect-Oriented Programming (AOP)
Context oriented programming
Direct modification
Execution environments
Language levels
Reflective systems
Software adaptation
C (programming language)
Fully-reflective VMs for ruling software adaptation
topic_facet Reflection
Software Adaptation
Virtual Machines
Application programs
Aspect oriented programming
Network security
Reflection
Software engineering
Surveys
Virtual machine
Adaptation scenarios
Aspect-Oriented Programming (AOP)
Context oriented programming
Direct modification
Execution environments
Language levels
Reflective systems
Software adaptation
C (programming language)
description A recent survey on paradigms for software adaptation at the language level assessed contemporary reflective systems (RS), aspect-oriented programming (AOP), and context-oriented programming (COP) as three well-established approaches. The survey did not find a clear winner. Our opinion is that this is due to the fact that none of these approaches is flexible enough to handle the diversity of possible adaptation scenarios. The reason is that instead of operating directly on the entity that conceptually requires the adaptation, these approaches often require to handle the adaptations in an indirect fashion. In this paper we advocate that a suitable paradigm for software adaptation at the language level must enable direct modification to every concept at both, the application and the execution environment level. This is enabled by a Fully-Reflective Execution Environment (FREE), a flavor of virtual machine in which every component such as the interpreter and the memory is accessible for inspection and modification, programmatically, and at run time. Consequently, we advocate and illustrate how the notion of a FREE extends RS and subsumes AOP and COP. © 2017 IEEE.
title Fully-reflective VMs for ruling software adaptation
title_short Fully-reflective VMs for ruling software adaptation
title_full Fully-reflective VMs for ruling software adaptation
title_fullStr Fully-reflective VMs for ruling software adaptation
title_full_unstemmed Fully-reflective VMs for ruling software adaptation
title_sort fully-reflective vms for ruling software adaptation
publishDate 2017
url https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_97815386_v_n_p229_Chari
http://hdl.handle.net/20.500.12110/paper_97815386_v_n_p229_Chari
_version_ 1768545395283066880