Treffer: Exploiting Reflection to Add Persistence and Query Optimization to a Statically Typed Object-Oriented Language

Title:
Exploiting Reflection to Add Persistence and Query Optimization to a Statically Typed Object-Oriented Language
Contributors:
The Pennsylvania State University CiteSeerX Archives
Publication Year:
1998
Collection:
CiteSeerX
Document Type:
Fachzeitschrift text
File Description:
application/postscript
Language:
English
Rights:
Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number:
edsbas.258B021B
Database:
BASE

Weitere Informationen

It is popular and appealing to design and construct a persistent programming language by extending the semantics of a non-persistent language appropriately and then modifying its compiler and run-time system to implement the extended semantics. We describe here how to achieve this, and furthermore, how to support query optimization, which is typically neglected in persistent programming language implementations, through judicious exploitation of reflection. Significantly, we avoid modifying the structure of the source language or its compiler in any way, and minimize and localize the modifications to the run-time system. We work in the context of the Java programming language, and conclude that the key features required in our approach are: a typed intermediate representation (as provided by Java class files), reflection supporting code inspection (an extension to the standard Java virtual machine), and dynamic loading of code generated at run-time. We also require virtual machine exte.