Hyper-Code Revisited: Unifying Program Source, Executable, and Data

  • E. Zirintsis
  • Graham N. C. Kirby
  • Ron Morrison
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2135)


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.


Source Code Information Hiding Execution Path Language Feature Executable Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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–212Google Scholar
  2. 2.
    Brooks F.P. No Silver Bullet-Essence and Accidents of Software Engineering. In: Proc. Information Processing 86, 1986, pp 1069MathSciNetGoogle Scholar
  3. 3.
    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–365zbMATHGoogle Scholar
  4. 4.
    Atkinson M.P., Daynès L., Jordan M.J., Printezis T., Spence S. An Orthogonally Persistent Java™. ACM SIGMOD Record 1996; 25,4:68–75Google Scholar
  5. 5.
    Stallman R. GNU Emacs Manual. Free Software Foundation, 1997Google Scholar
  6. 6.
    Metrowerks Inc. CodeWarrior Pro 5, 1999Google Scholar
  7. 7.
    Microsoft Corporation. Microsoft® Visual Basic® 6.0 Programmer’s Guide. Microsoft Press, ISBN 1-57231-863-5, 1998Google Scholar
  8. 8.
    Goldberg A., Robson D. Smalltalk-80: The Language and its Implementation. Addison Wesley, Reading, Massachusetts, 1983zbMATHGoogle Scholar
  9. 9.
    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–16Google Scholar
  10. 10.
    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–382Google Scholar
  11. 11.
    Albano A., Cardelli L., Orsini R. Galileo: a Strongly Typed, Interactive Conceptual Language. ACM ToDS 1985; 10,2:230–260Google Scholar
  12. 12.
    Gosling J., Joy B., Steele G. The Java™ Language Specification. Addison-Wesley, ISBN 0-201-63451-1, 1996Google Scholar
  13. 13.
    Zirintsis E. Towards Simplification of the Software Development Process: The Hyper-Code Abstraction (PhD Thesis, University of St Andrews). in preparation. Google Scholar
  14. 14.
    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–479zbMATHGoogle Scholar
  15. 15.
    Chiba S. Load-Time Structural Reflection in Java. In: Proc. ECOOP 2000, 2000Google Scholar
  16. 16.
    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, 1999Google Scholar
  17. 17.
    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–386zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • E. Zirintsis
    • 1
  • Graham N. C. Kirby
    • 1
  • Ron Morrison
    • 1
  1. 1.School of Computer ScienceUniversity of St AndrewsNorth Haugh, St Andrews, FifeScotland

Personalised recommendations