Files in this item
Linguistic reflection in Java
Item metadata
dc.contributor.author | Kirby, Graham Njal Cameron | |
dc.contributor.author | Morrison, Ronald | |
dc.contributor.author | Stemple, David Wilber | |
dc.date.accessioned | 2011-04-01T09:31:02Z | |
dc.date.available | 2011-04-01T09:31:02Z | |
dc.date.issued | 1998-08 | |
dc.identifier.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 . https://doi.org/10.1002/(sici)1097-024x(199808)28:10<1045::aid-spe191>3.3.co;2-6 | en |
dc.identifier.issn | 0038-0644 | |
dc.identifier.other | PURE: 5006682 | |
dc.identifier.other | PURE UUID: 8e6e3e0b-e000-4366-a87e-b570b7f18523 | |
dc.identifier.other | ArXiv: http://arxiv.org/abs/cs/9810027v1 | |
dc.identifier.other | Scopus: 0032139067 | |
dc.identifier.other | ORCID: /0000-0002-4422-0190/work/28429147 | |
dc.identifier.uri | https://hdl.handle.net/10023/1758 | |
dc.description | This work is partially supported by the EPSRC through Grant GR/J 67611 ‘Delivering the Benefits of Persistence to System Construction’ | en |
dc.description.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. | |
dc.language.iso | eng | |
dc.relation.ispartof | Software: Practice and Experience | en |
dc.rights | This is the author's submitted version. The definitive version (c) John Wiley & Sons is available at www3.interscience.wiley.com | en |
dc.subject | cs.PL | en |
dc.subject | D.1.0 | en |
dc.subject | Persistence | en |
dc.subject | Language design | en |
dc.subject | Object database | en |
dc.subject | Reflection | en |
dc.subject | Program generation | en |
dc.subject | QA76 Computer software | en |
dc.subject.lcc | QA76 | en |
dc.title | Linguistic reflection in Java | en |
dc.type | Journal article | en |
dc.description.version | Preprint | en |
dc.contributor.institution | University of St Andrews. School of Computer Science | en |
dc.identifier.doi | https://doi.org/10.1002/(sici)1097-024x(199808)28:10<1045::aid-spe191>3.3.co;2-6 | |
dc.description.status | Peer reviewed | en |
dc.identifier.url | http://www3.interscience.wiley.com/journal/10007353/abstract | en |
This item appears in the following Collection(s)
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.