The Oberon-2 Reflection Model and its Applications

Hanspeter Mössenböck, Christoph Steindl
Johannes Kepler University Linz
Institute for Practical Computer Science
Altenbergerstraße 69, A-4040 Linz
{moessenboeck, steindl}@ssw.uni-linz.ac.at


Abstract

We describe the reflection model of Oberon-2, a language in the tradition of Pascal and Modula-2. It provides run-time information about the structure of variables, types and procedures and allows the programmer to manipulate the values of variables. The special aspect of the Oberon-2 reflection model is that metainformation is not obtained via metaclasses. It is rather organized as structured sequences of elements stored on a disk, which can be enumerated by an iterator. This results in a simple and uniform access mechanism and keeps the memory overhead to a minimum. We also show a number of challenging applications that have been implemented with this reflection model.


Paper at the Reflection'99, St. Malo, France, July 19-21, 1999. LNCS 1616, Springer, pp. 40-53
Published in Lecture Notes in Computer Science 1616 (pp. 40-53), ISBN 3-540-66280-4, Springer-Verlag, 1999.
The copyright for this publication is held by Springer.
You can download the full paper in postscript or the full paper in compressed postscript. You can browse the slides of the presentation online as static JPEGs or as animated powerpoint slides (you need the PowerPoint ActiveX plug-in)