Next: Acknowledgements
Up: Implementing Parallel Language Constructs
Previous: Related Work
Conclusion
This paper has presented the design of the meta-level architecture of
ABCL/R3. Assuming the compilation technique using partial evaluation,
our architecture allows flexible extensibility for the syntax and
semantics of the base-level languages in an inexpensive manner. In
addition, customization of meta-interpreters can be easily re-used by
using standard object-oriented techniques such as delegation in the
same way to sequential reflective object-oriented languages (e.g.,
CLOS) allow. Reflective annotations allow programmers to write directives
to the meta-level programs as comments to a base-level program. The
interpretation of annotations can also be customized by modifying the
meta-interpreters.
This paper also describes how several common parallel programming
strategies, including object replication, latency hiding, termination
detection, and user-level scheduling, are straightforwardly
realized as language constructs by using our architecture. These
strategies can be incorporated into existing base-level programs
without modifying their structures.
Matt Hurlbut
1998-07-14