Research@StAndrews
 
The University of St Andrews

Research@StAndrews:FullText >
University of St Andrews Research >
University of St Andrews Research >
University of St Andrews Research >

Please use this identifier to cite or link to this item: http://hdl.handle.net/10023/1758
This item has been viewed 1 times in the last year. View Statistics

Files in This Item:

File Description SizeFormat
KirbyLinguisticReflection1998Preprint.pdf106.76 kBAdobe PDFView/Open
Title: Linguistic reflection in Java
Authors: Kirby, Graham Njal Cameron
Morrison, Ronald
Stemple, David Wilber
Keywords: cs.PL
D.1.0
Persistence
Language design
Object database
Reflection
Program generation
QA76 Computer software
Issue Date: Aug-1998
Citation: Kirby , G N C , Morrison , R & Stemple , D W 1998 , ' Linguistic reflection in Java ' Software: Practice and Experience , vol 28 , no. 10 , pp. 1045-1077 .
Abstract: Reflective systems allow their own structures to be altered from within. Here we are concerned with a style of reflection, called linguistic reflection, which is the ability of a running program to generate new program fragments and to integrate these into its own execution. In particular we describe how this kind of reflection may be provided in the compiler-based, strongly typed object-oriented programming language Java. The advantages of the programming technique include attaining high levels of genericity and accommodating system evolution. These advantages are illustrated by an example taken from persistent programming which shows how linguistic reflection allows functionality (program code) to be generated on demand (Just-In-Time) from a generic specification and integrated into the evolving running program. The technique is evaluated against alternative implementation approaches with respect to efficiency, safety and ease of use.
Version: Preprint
Description: This work is partially supported by the EPSRC through Grant GR/J 67611 ‘Delivering the Benefits of Persistence to System Construction’
Status: Peer reviewed
URI: http://hdl.handle.net/10023/1758
http://www3.interscience.wiley.com/journal/10007353/abstract
DOI: http://dx.doi.org/10.1002/(sici)1097-024x(199808)28:10<1045::aid-spe191>3.3.co;2-6
ISSN: 0038-0644
Type: Journal article
Rights: This is the author's submitted version. The definitive version (c) John Wiley & Sons is available at www3.interscience.wiley.com
Appears in Collections:University of St Andrews Research
Computer Science Research



This item is protected by original copyright

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

 

DSpace Software Copyright © 2002-2012  Duraspace - Feedback
For help contact: Digital-Repository@st-andrews.ac.uk | Copyright for this page belongs to St Andrews University Library | Terms and Conditions (Cookies)