next up previous
Next: The MOP of Guaranį Up: Composition of Meta-Objects in Previous: Introduction

  
The Reflective Architecture of Guaranį

Several run-time MOPs have been designed so that, when a meta-object is requested to handle a reified operation (for example, a method invocation), it is obliged, by design of the MOP, to return a valid result for the operation. The meta-level computation that yields the result can include or not the delivery of the operation to the base-level object.

This design implies that the only way to combine the behavior of meta-objects is by arranging for one meta-object, say M, to forward operation handling requests to another, say N, delegating to N the responsibility for computing the result of the operation. Only after N returns a result will M be able to observe and/or to modify it.

Given such a protocol, meta-objects are likely to be organized in a chain, so that each meta-object delegates operation handling requests to its successor. The last element of the chain is either the base-level object [2] or a special meta-object that delivers operations to it [6]. We argue that this design presents some serious drawbacks:



 
next up previous
Next: The MOP of Guaranį Up: Composition of Meta-Objects in Previous: Introduction
contact the authors