next up previous
Next: Conclusion Up: Discussions Previous: Runtime Performance:

Related Work

There are several reflective systems for distributed programming such as AL-1/D and CodA, but few systems pay strong attention to the overhead of reflection. AL-1/D[12] is a reflective language based on `multi-model reflection framework' (MMRF). It is reported that performance improvement is achieved by using AL-1/D's meta-level architecture to implement and control object migration mechanisms[11]. However, this improvement seems to be worthwhile over the overhead incurred by reflection in environments where overhead of remote communication is substantially larger than the interpretation overhead, such as heterogeneous distributed computing. In the CodA meta-level architecture[10], a meta-object is decomposed into several objects, so that user's meta-level programs are easily re-used and composed. However, efficient implementation of such an architecture is not obvious. Recently, extensible compilers based on the meta-level architecture--so called compile-time meta-object protocol (MOP)--have been proposed, especially for parallel/distributed systems[1,4,13]. Most language constructs discussed in this paper could also be implemented with these MOPs. However, they may force different programming style at the meta-level; since they are compilers, programmers have to write their extensions as program transformation rules, in which programmers must distinguish run-time values and compile-time values.
next up previous
Next: Conclusion Up: Discussions Previous: Runtime Performance:
Matt Hurlbut
1998-07-14