Bootstrapping reflective systems: The case of Pharo

نویسندگان

  • Guillermo Polito
  • Stéphane Ducasse
  • Luc Fabresse
  • Noury Bouraqadi
  • Benjamin Van Ryseghem
چکیده

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.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Toward a modularization of Pharo : Analysis of the design space for a new module system

Smalltalk is a reflective object-oriented programming language. Over the years, it has influenced many other programming languages and evolved into many variants. However, it does not offer the notion of namespace or module. Because all classes and global variables are visible from the whole system, numerous dependencies may be introduced and lead to a monolithic system. As a descendant of Smal...

متن کامل

OpenJIT Frontend System: An Implementation of the Reflective JIT Compiler Frontend

OpenJIT is an open-ended, reflective JIT compiler framework for Java being researched and developed in a joint project by Tokyo Inst. Tech. and Fujitsu Ltd. Although in general self-descriptive systems have been studied in various contexts such as reflection and interpreter/compiler bootstrapping, OpenJIT is a first system we know to date that offers a stable, full-fledged Java JIT compiler tha...

متن کامل

Relationship between Professional Identity and Reflectivity: A Case of Iranian EFL Teachers

EFL teachers’ professional identity is a multi-dimensional and complicated concept. It is influenced by many other issues in the educational context such as reflective practice. This study intended to explore the relationship between professional identity and reflectivity of Iranian EFL teachers. It also aimed to examine how high and low reflective teachers perceive the professional identity co...

متن کامل

Beyond Data Dictionaries: Towards a Reflective Architecture of Intelligent Database Systems

A b s t r a c t . The main conjecture of this contribution is that forthcoming intelligent database systems in particular future DOOD systems should be designed in such a way that a major part of the services they provide are implemented using these same services in a bootstrapping-like manner. We call such an approach "reflective", as is often done by researchers in AI and programming language...

متن کامل

Debugging Cyber-Physical Systems with Pharo

Cyber-Physical Systems (CPS) integrate sensors and actuators to collect data and control entities in the physical world. Debugging CPS systems is hard due to the time-sensitive nature of a distributed applications combined with the lack of control on the surrounding physical environment. This makes bugs in CPS systems hard to reproduce and thus to fix. In this context, on-line debugging techniq...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Sci. Comput. Program.

دوره 96  شماره 

صفحات  -

تاریخ انتشار 2014