|
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.
|