COMPUTATIONAL REFLECTION


Reflection

This is the old page of the Computational Reflection Research Group. Please visit the new one .


These group members are doing research on adaptable, extensible and flexible object-oriented systems. Computational reflection is the main technique we use to achieve flexibility. Connected with the development of an integral object-oriented system (IOOS), adaptability is an important issue to deploy an IOOS in heterogeneous platforms.

We have first employed reflective techniques to build an extensible and adaptable abstract machine (nitrO virtual machine) capable of being deployed over heterogeneous environments. Programming on its own language its computational abstraction level can be increased: no modification on its implementation is needed.

The computational reflection technique offered by nitrO virtual machine is based on the definition of a meta-object protocol (MOP). This reflective technique has many restrictions; we have built a Non-Restrictive Reflective System that overcomes these drawbacks.

As an example of using the nitrO system, we have developed a dynamically adaptable reflective persistence system, in which really a transparent separation of the persistence concern can be performed. At runtime, an application may set and unset as persistent although its source code has not persistence at all. Moreover, its persistence settings such as the storage employed, its indexing mechanism or update frequency could be dynamically changed in a programmatic way.

We have received one of the second Microsoft Research Request for Proposals awards to add structural reflection to the Shared Source CLI. This project has been named rRotor.


REFLECTION SECTIONS

Access Statistics