next up previous
Next: Security Up: The Reflective Architecture of Previous: Meta-configuration management

Support for proxy objects

Guaranį provides a mechanism that allows proxy objects to be created from the meta level, without invoking their constructors. In addition to the traditional use of a proxy, namely, for representing an object from another address space, a proxy can be used to reincarnate an object from persistent storage, to migrate an object, etc.


  
Figure 10: Proxy objects.
\begin{figure}{\small\begin{center}\fbox{
\begin{picture}
(210,57)(5,-128)
\pu...
...reconfigure(Object,null,MOp);
}
}
\end{picture} }\end{center}}
\end{figure}

It is possible to request the creation of a proxy object of any class. As soon as the proxy is created, a NewProxy message, subclass of NewObject, is broadcast to the meta-configuration of the class, so that it can take control over the proxy before the proposed meta-object does. Afterwards, a reconfigure request is automatically issued to try to install the proposed meta-object as the primary meta-object of the proxy.

When a proxy is created, as in Figure 10, the kernel of Guaranį broadcasts to the meta-configuration of its class a NewProxy message, a subclass of NewObject. A proxy will usually be given a meta-configuration that prevents operations from reaching it, but it may be transformed in a real object by its meta-configuration, through constructor invocation or direct initialization.


next up previous
Next: Security Up: The Reflective Architecture of Previous: Meta-configuration management
contact the authors