Bootstrapping Reflective Systems: The Case ...
Type de document :
Article dans une revue scientifique
Titre :
Bootstrapping Reflective Systems: The Case of Pharo
Auteur(s) :
Polito, Guillermo [Auteur correspondant]
École des Mines de Douai [Mines Douai EMD]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Fabresse, Luc [Auteur]
Centre for Digital Systems [CERI SN - IMT Nord Europe]
Bouraqadi, Noury [Auteur]
Centre for Digital Systems [CERI SN - IMT Nord Europe]
van Ryseghem, Benjamin [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
École des Mines de Douai [Mines Douai EMD]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Fabresse, Luc [Auteur]
Centre for Digital Systems [CERI SN - IMT Nord Europe]
Bouraqadi, Noury [Auteur]
Centre for Digital Systems [CERI SN - IMT Nord Europe]
van Ryseghem, Benjamin [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Titre de la revue :
Science of Computer Programming
Pagination :
18
Éditeur :
Elsevier
Date de publication :
2014-01-31
ISSN :
0167-6423
Mot(s)-clé(s) en anglais :
Object-Oriented Programming and Design
Bootstrap
Smalltalk
Software Evolution
Bootstrap
Smalltalk
Software Evolution
Discipline(s) HAL :
Informatique [cs]/Langage de programmation [cs.PL]
Informatique [cs]/Bibliothèque électronique [cs.DL]
Informatique [cs]/Bibliothèque électronique [cs.DL]
Résumé en anglais : [en]
Bootstrapping is a technique commonly known by its usage in language definition by the introduction of a compiler written in the same language it compiles. This process is important to understand and modify the definition ...
Lire la suite >Bootstrapping is a technique commonly known by its usage in language definition by the introduction of a compiler written in the same language it compiles. This process is important to understand and modify the definition of a given language using the same language, taking benefit of the abstractions and expression power it provides. A bootstrap, then, supports the evolution of a language. However, the infrastructure of reflective systems like Smalltalk includes, in addition to a compiler, an environment with several self-references. A reflective system bootstrap should consider all its infrastructural components. In this paper, we propose a definition of bootstrap for object-oriented reflective systems, we describe the architecture and components it should contain and we analyze the challenges it has to overcome. Finally, we present a reference bootstrap process for a reflective system and Hazelnut, its implementation for bootstrapping the Pharo Smalltalk-inspired system.Lire moins >
Lire la suite >Bootstrapping is a technique commonly known by its usage in language definition by the introduction of a compiler written in the same language it compiles. This process is important to understand and modify the definition of a given language using the same language, taking benefit of the abstractions and expression power it provides. A bootstrap, then, supports the evolution of a language. However, the infrastructure of reflective systems like Smalltalk includes, in addition to a compiler, an environment with several self-references. A reflective system bootstrap should consider all its infrastructural components. In this paper, we propose a definition of bootstrap for object-oriented reflective systems, we describe the architecture and components it should contain and we analyze the challenges it has to overcome. Finally, we present a reference bootstrap process for a reflective system and Hazelnut, its implementation for bootstrapping the Pharo Smalltalk-inspired system.Lire moins >
Langue :
Anglais
Comité de lecture :
Oui
Audience :
Internationale
Vulgarisation :
Non
Collections :
Source :
Fichiers
- https://hal.inria.fr/hal-00903724/document
- Accès libre
- Accéder au document
- https://hal.inria.fr/hal-00903724/document
- Accès libre
- Accéder au document
- https://doi.org/10.1016/j.scico.2013.10.008
- Accès libre
- Accéder au document
- https://doi.org/10.1016/j.scico.2013.10.008
- Accès libre
- Accéder au document
- https://hal.inria.fr/hal-00903724/document
- Accès libre
- Accéder au document
- https://doi.org/10.1016/j.scico.2013.10.008
- Accès libre
- Accéder au document
- https://doi.org/10.1016/j.scico.2013.10.008
- Accès libre
- Accéder au document
- Poli13b-BootstrappingASmalltalk-ScienceOfComputerProgramming.pdf
- Accès libre
- Accéder au document
- j.scico.2013.10.008
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document