Conferencia

Chari, G.; Garbervetsky, D.; Marr, S.; Ducasse, S.; Steele G.L.; Murphy G.C.; ACM SIGPLAN "Towards fully reflective environments" (2015) ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2015 - Part of SPLASH 2015:240-253
Estamos trabajando para incorporar este artículo al repositorio
Consulte el artículo en la página del editor

Abstract:

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.

Registro:

Documento: Conferencia
Título:Towards fully reflective environments
Autor:Chari, G.; Garbervetsky, D.; Marr, S.; Ducasse, S.; Steele G.L.; Murphy G.C.; ACM SIGPLAN
Filiación:Departamento de Computación, FCEyN, UBA and CONICET, Argentina
RMoD, INRIA Lille -Nord Europe, France
Palabras clave: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
Año:2015
Página de inicio:240
Página de fin:253
DOI: http://dx.doi.org/10.1145/2814228.2814241
Título revista:ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2015 - Part of SPLASH 2015
Título revista abreviado:Onward! - Proc. ACM Int. Symp. New Ideas, New Paradig. Reflect. Program. Softw., Part SPLASH
Registro:https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_97814503_v_n_p240_Chari

Referencias:

  • Alpern, B., Augart, S., Blackburn, S.M., Butrico, M., Cocchi, A., Cheng, P., Dolby, J., Sarkar, V., The jikes research virtual machine project: Building an open-source research community (2005) IBM Syst. J., 44 (2), pp. 399-417. , Jan
  • Arnaud, J.-B., Denker, M., Ducasse, S., Pollet, D., Bergel, A., Suen, M., Read-only execution for dynamic languages (2010) Proceedings of the 48th International Conference on Objects, Models, Components, Patterns, TOOLS'10, pp. 117-136. , Springer-Verlag
  • Asai, K., Reflection in direct style (2011) Proceedings of the 10th ACM International Conference on Generative Programming and Component Engineering, GPCE '11, pp. 97-106. , ACM
  • Baresi, L., Ghezzi, C., The disappearing boundary between development-time and run-time (2010) Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, FoSER '10, pp. 17-22. , ACM
  • Black, A., Ducasse, S., Nierstrasz, O., Pollet, D., Cassou, D., Denker, M., (2009) Pharo by Example, , Square Bracket Associates
  • Bolz, C.F., Tratt, L., The impact of meta-tracing on vm design and implementation (2015) SCICO, pp. 408-421. , Feb
  • Bracha, G., Ungar, D., Mirrors: Design principles for meta-level facilities of object-oriented programming languages (2004) Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA '04, pp. 331-344. , ACM
  • Braux, M., Noyé, J., Towards partially evaluating reflection in Java (1999) Proceedings of the 2000 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, PEPM '00, pp. 2-11. , ACM
  • Bruni, C., Ducasse, S., Stasenko, I., Chari, G., Benzo: Reflective glue for low-level programming (2014) International Workshop on Smalltalk Technologies, , Aug
  • Burckhardt, S., Fahndrich, M., De Halleux, P., McDirmid, S., Moskal, M., Tillmann, N., Kato, J., It's alive! continuous feedback in UI programming (2013) Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '13, pp. 95-104. , ACM
  • Chevalier-Boisvert, M., Lavoie, E., Feeley, M., Du-Four, B., Bootstrapping a self-hosted research virtual machine for javascript: An experience report (2011) Proceedings of the 7th Symposium on Dynamic Languages, DLS '11, pp. 61-72. , ACM
  • Frampton, D., Blackburn, S.M., Cheng, P., Garner, R.J., Grove, D., Moss, J.E.B., Salishev, S.I., Demystifying magic: High-level low-level programming (2009) Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE '09, pp. 81-90. , ACM
  • Geoffray, N., Thomas, G., Lawall, J., Muller, G., Folliot, B., Vmkit: A substrate for managed runtime environments (2010) Proceedings of the 6th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE '10, pp. 51-62. , ACM
  • Haupt, M., Gibbs, C., Adams, B., Timbermont, S., Coady, Y., Hirschfeld, R., Disentangling virtual machine architecture (2009) Software, IET, , June
  • Ingalls, D., Kaehler, T., Maloney, J., Wallace, S., Kay, A., Back to the future: The story of squeak, a practical smalltalk written in itself (1997) Proceedings of the 12th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA '97, pp. 318-326. , ACM
  • Kiczales, G., Rivieres, J.D., (1991) The Art of the Metaobject Protocol, , MIT Press
  • Maes, P., Concepts and experiments in computational reflection (1987) Conference Proceedings on Object-oriented Programming Systems, Languages and Applications, OOPSLA '87, pp. 147-155. , ACM
  • Malenfant, J., Jacques, M., Demers, F.N., A tutorial on behavioral reflection and its implementation (1996) Reflection '96 Conference
  • Marr, S., Seaton, C., Ducasse, S., Zero-overhead metapro-gramming: Reflection and metaobject protocols fast and without compromises (2015) Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2015, pp. 545-554. , ACM
  • McDirmid, S., Living it up with a live programming language (2007) Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications, OOPSLA '07, pp. 623-638. , ACM
  • Meyer, B., (1997) Object-oriented Software Construction, , Prentice-Hall, Inc
  • Miranda, E., The Cog Smalltalk virtual machine (2011) Proceedings of the 5th Workshop on Virtual Machines and Intermediate Languages, VMIL '11, , ACM
  • Redmond, B., Cahill, V., Supporting unanticipated dynamic adaptation of application behaviour (2002) Proceedings of the 16th European Conference on Object-Oriented Programming, ECOOP '02, pp. 205-230. , Springer-Verlag
  • Ressia, J., Bergel, A., Nierstrasz, O., Object-centric debugging (2012) Proceedings of the 34th International Conference on Software Engineering, ICSE '12, pp. 485-495. , IEEE Press
  • Rigo, A., Pedroni, S., Pypy's approach to virtual machine construction (2006) Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications, OOPSLA '06, pp. 944-953. , ACM
  • Salvaneschi, G., Ghezzi, C., Pradella, M., An analysis of language-level support for self-adaptive software (2013) TAAS, 8 (2), p. 7
  • Smith, B.C., Reflection and semantics in lisp (1984) Proceedings of the 11th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL '84, pp. 23-35. , ACM
  • Tanter, E., Noyé, J., Caromel, D., Cointe, P., Partial behavioral reflection: Spatial and temporal selection of reification (2003) Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications, OOPSLA '03, pp. 27-46. , ACM
  • Tschantz, M.S., Ernst, M.D., Javari: Adding reference immutability to Java (2005) Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA '05, pp. 211-230. , ACM
  • Ungar, D., Spitz, A., Ausch, A., Constructing a metacircular virtual machine in an exploratory programming environment (2005) Companion to the 20th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA '05, pp. 11-20. , ACM
  • Verwaest, T., Bruni, C., Gurtner, D., Lienhard, A., Nies-Trasz, O., Pinocchio: Bringing reflection to life with first-class interpreters (2010) Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA '10, pp. 774-789. , ACM
  • Verwaest, T., Bruni, C., Lungu, M., Nierstrasz, O., Flexible object layouts: Enabling lightweight language extensions by intercepting slot access (2011) Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA '11, , ACM
  • Wand, M., Friedman, D.P., The mystery of the tower revealed: A non-reflective description of the reflective tower (1986) Proceedings of the 1986 ACM Conference on LISP and Functional Programming, LFP '86, pp. 298-307. , ACM
  • Wernli, E., Nierstrasz, O., Teruel, C., Ducasse, S., Delegation proxies: The power of propagation (2014) Proceedings of the 13th International Conference on Modularity, MODULARITY '14, pp. 1-12. , ACM
  • Wimmer, C., Brunthaler, S., Larsen, P., Franz, M., Finegrained modularity and reuse of virtual machine components (2012) Proceedings of the 11th Annual International Conference on Aspect-oriented Software Development, AOSD '12, pp. 203-214. , ACM
  • Wimmer, C., Haupt, M., De Van Vanter, M.L., Jordan, M., Daynfes, L., Simon, D., Maxine: An approachable virtual machine for, and in, Java (2013) ACM Trans. Archit. Code Optim., 9 (4), pp. 301-3024. , Jan
  • Wurthinger, T., Wimmer, C., Wöß, A., Stadler, L., Duboscq, G., Humer, C., Richards, G., Wolczko, M., One vm to rule them all (2013) Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, Onward! '13, pp. 187-204. , ACM
  • Zibin, Y., Potanin, A., Ali, M., Artzi, S., Kie, A., Ernst, M.D., Object and reference immutability using Java generics (2007) Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC-FSE '07, pp. 75-84. , ACMA4 - ACM SIGPLAN

Citas:

---------- APA ----------
Chari, G., Garbervetsky, D., Marr, S., Ducasse, S., Steele G.L., Murphy G.C. & ACM SIGPLAN (2015) . Towards fully reflective environments. ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2015 - Part of SPLASH 2015, 240-253.
http://dx.doi.org/10.1145/2814228.2814241
---------- CHICAGO ----------
Chari, G., Garbervetsky, D., Marr, S., Ducasse, S., Steele G.L., Murphy G.C., et al. "Towards fully reflective environments" . ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2015 - Part of SPLASH 2015 (2015) : 240-253.
http://dx.doi.org/10.1145/2814228.2814241
---------- MLA ----------
Chari, G., Garbervetsky, D., Marr, S., Ducasse, S., Steele G.L., Murphy G.C., et al. "Towards fully reflective environments" . ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2015 - Part of SPLASH 2015, 2015, pp. 240-253.
http://dx.doi.org/10.1145/2814228.2814241
---------- VANCOUVER ----------
Chari, G., Garbervetsky, D., Marr, S., Ducasse, S., Steele G.L., Murphy G.C., et al. Towards fully reflective environments. Onward! - Proc. ACM Int. Symp. New Ideas, New Paradig. Reflect. Program. Softw., Part SPLASH. 2015:240-253.
http://dx.doi.org/10.1145/2814228.2814241