Supported by AITO. These pages are currently maintained by Alex Potanin |
|
An Open Run-time Metaobject Protocol
Beaucheff 850 3e Piso - AccessNova Santiago CHILE tel: +56 2 678 4812 fax: +56 2 699 0464 etanter@dcc.uchile.cl Keywords:distribution frameworks meta architectures
Abstract:Run-time MetaObject Protocols (MOPs) are reflective systems that allow objects to be controlled at run time by one or many metaobjects. Such an object is called a reflective object. Applications of run-time MOPs are many, but their main advantage above other transformation systems (such as compile-time MOPs, AOP systems, macros, etc.) relies in the existence at run time of a causal connection link, that is, the link between a reflective object and its metaobject(s). The fact that this link exists at run time makes it possible to dynamically change the metaobjects of an object, therefore achieving dynamic adaptability. Run-time MOPs are therefore particularly adequate for situations where dynamic adaptability is required (such as adaptable mobile code). They are also adequate in cases where instance-specific alterations are needed. However, existing run-time MOPs are closed software systems. Though they allow the implementation of open systems, there are themselves closed. This non-openness of run-time MOPs is annoying because fine-tuning a MOP is compulsory if a MOP is to be used at all. Indeed, jumping to the meta level to alter the semantics of execution is powerful but costly. It is therefore required to allow the user of a MOP to fine-tune it to specific needs, in order to limit the overcost of using a run-time MOP. In this PhD thesis, I am investigating on how to build an open run-time MOP that enables fine-tuning. I am working on a prototype of such MOP, Reflex. When achieved, Reflex will allow its users to fine-tune:
The Reflex framework defines abstract interfaces for user extension and includes implementation of generic components that are able to take into account user extensions. Reflex is relies on a generic MOP and a generic class builder into which transformers can be plugged-in. Once the framework is finalized, we plan to work on a domain-specific language or aspect language that will be used to specify the reflective aspect of an application. In parallel, I am also working on applications of such a run-time MOP. I am investigating adaptibility in mobile object systems, in particular the issue of reference management upon object migration.
HTML3 JAVA
Last modified on Mon Aug 15 14:59:24 2005 |