Abstract
The technique of hyper-programming allows program representations held in a persistent store to contain embedded links to persistent code and data. In 1994, Connor et al proposed extending this to hyper-code, in which program source, executable code and data are all represented to the user in exactly the same form. Here we explore the concept of hyper-code in greater detail and present a set of abstract language-independent operations on which various concrete systems can be based. These operations (explode, implode, evaluate, root and edit) are provided by a single user interface tool that subsumes the functions of both an object browser and a program editor. We then describe a particular implementation using PJama (persistent Java) and examine the impact of several language features on the resulting system.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Connor R.C.H., Cutts Q.I., Kirby G.N.C., Moore V.S., Morrison R. Unifying Interaction with Persistent Data and Program. In: P. Sawyer (ed) Interfaces to Database Systems, Proc. 2nd International Workshop on User Interfaces to Databases, Ambleside, Cumbria, 1994. Springer-Verlag, 1994, pp 197–212
Brooks F.P. No Silver Bullet-Essence and Accidents of Software Engineering. In: Proc. Information Processing 86, 1986, pp 1069
Atkinson M.P., Bailey P.J., Chisholm K.J., Cockshott W.P., Morrison R. An Approach to Persistent Programming. Comp. J. 1983; 26,4:360–365
Atkinson M.P., Daynès L., Jordan M.J., Printezis T., Spence S. An Orthogonally Persistent Java™. ACM SIGMOD Record 1996; 25,4:68–75
Stallman R. GNU Emacs Manual. Free Software Foundation, 1997
Metrowerks Inc. CodeWarrior Pro 5, 1999
Microsoft Corporation. Microsoft® Visual Basic® 6.0 Programmer’s Guide. Microsoft Press, ISBN 1-57231-863-5, 1998
Goldberg A., Robson D. Smalltalk-80: The Language and its Implementation. Addison Wesley, Reading, Massachusetts, 1983
Morrison R., Connor R.C.H., Cutts Q.I., Dunstan V.S., Kirby G.N.C. Exploiting Persistent Linkage in Software Engineering Environments. Comp. J. 1995; 38,1:1–16
Zirintsis E., Dunstan V.S., Kirby G.N.C., Morrison R. Hyper-Programming in Java. In: R. Morrison, M. Jordan and M. P. Atkinson (ed) Advances in Persistent Object Systems, Proc. 8th International Workshop on Persistent Object Systems (POS8) and 3rd International Workshop on Persistence and Java (PJW3), Tiburon, California, 1998. Morgan Kaufmann, 1999, pp 370–382
Albano A., Cardelli L., Orsini R. Galileo: a Strongly Typed, Interactive Conceptual Language. ACM ToDS 1985; 10,2:230–260
Gosling J., Joy B., Steele G. The Javaâ„¢ Language Specification. Addison-Wesley, ISBN 0-201-63451-1, 1996
Zirintsis E. Towards Simplification of the Software Development Process: The Hyper-Code Abstraction (PhD Thesis, University of St Andrews). in preparation.
Marquez A., Zigman J.N., Blackburn S.M. Fast Portable Orthogonally Persistent Java. Software-Practice and Experience, Special Issue on Persistent Object Systems 2000; 30,4:449–479
Chiba S. Load-Time Structural Reflection in Java. In: Proc. ECOOP 2000, 2000
Morrison R., Balasubramaniam D., Greenwood M., Kirby G.N.C., Mayes K., Munro D.S., Warboys B.C. ProcessBase Reference Manual (Version 1.0.6). Universities of St Andrews and Manchester, 1999
Morrison R., Balasubramaniam D., Greenwood R.M., Kirby G.N.C., Mayes K., Munro D.S., Warboys B.C. A Compliant Persistent Architecture. Software-Practice and Experience, Special Issue on Persistent Object Systems 2000; 30,4:363–386
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zirintsis, E., Kirby, G.N.C., Morrison, R. (2001). Hyper-Code Revisited: Unifying Program Source, Executable, and Data. In: Kirby, G.N.C., Dearle, A., Sjøberg, D.I.K. (eds) Persistent Object Systems: Design, Implementation, and Use. POS 2000. Lecture Notes in Computer Science, vol 2135. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45498-5_21
Download citation
DOI: https://doi.org/10.1007/3-540-45498-5_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42735-3
Online ISBN: 978-3-540-45498-4
eBook Packages: Springer Book Archive