Abstract
The traditional representation of a program is as a linear sequence of text. At some stage in the execution sequence the source text is checked for type correctness and its translated form is linked to values in the environment. When this is performed early in the execution process, confidence in the correctness of the program is raised. During program execution, tools such as debuggers are used to inspect the running state of programs. Relating this state to the linear text is often problematical. We have developed a technique, hyperprogramming, that allows the representations of source programs to include direct links (hyper-links) to values, including code, that already exist in the environment. Hyperprogramming achieves our two objectives of being able to link earlier than before, at program composition time, and to represent sharing and thus closure and through this the run-time state of a program. This paper reviews our work on hyper-programming and proposes some current research areas.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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
Metrowerks Inc. CodeWarrior Pro 5, 1999
Farkas A.M., Dearle A., Kirby G.N.C., Cutts Q.I., Morrison R., Connor R.C.H. Persistent Program Construction through Browsing and User Gesture with some Typing. In: A. Albano and R. Morrison (ed) Persistent Object Systems, Proc. 5th International Workshop on Persistent Object Systems (POS5), San Miniato, Italy. Springer-Verlag, 1992, pp 376–393
Kirby G.N.C., Connor R.C.H., Cutts Q.I., Dearle A., Farkas A.M., Morrison R. Persistent Hyper-Programs. In: A. Albano and R. Morrison (ed) Persistent Object Systems, Proc. 5th International Workshop on Persistent Object Systems (POS5), San Miniato, Italy. Springer-Verlag, 1992, pp 86–106
Morrison R., Brown A.L., Connor R.C.H., Cutts Q.I., Dearle A., Kirby G.N.C., Munro D.S. Napier88 Reference Manual (Release 2.2.1). University of St Andrews, 1996
Atkinson M.P., Daynes L., Jordan M.J., Printezis T., Spence S. An Orthogonally Persistent Java. ACM SIGMOD Record 1996; 25,4:68–75
Cutts Q.I., Connor R.C.H., Kirby G.N.C., Morrison R. An Execution Driven Approach to Code Optimisation. In: Proc. 17th Australasian Computer Science Conference (ACSC’94), Christchurch, New Zealand, 1994, pp 83–92
Stroustrup B. The C++ Programming Language. Addison-Wesley, 1986
The Common Object Request Broker: Architecture and Specification, Revision 2.2. Object Management Group (OMG), 1998
Microsoft Corporation. DCOM Technical Overview., 1996
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., Morrison R. Procedures as Persistent Data Objects. ACM ToPLaS 1985; 7,4:539–559
Goldberg A., Robson D. Smalltalk-80: The Language and its Implementation. Addison Wesley, Reading, Massachusetts, 1983
OBrien P.D., Halbert D.C., Kilian M.F. The Trellis Programming Environment. ACM SIGPLAN Notices 1987; 22,12:91–102
Dearle A., Brown A.L. Safe Browsing in a Strongly Typed Persistent Environment. Comp. J. 1988; 31,6:540–544
Bretl B., Maier D., Otis A., Penney J., Schuchardt B., Stein J., Williams E.H., Williams M. The GemStone Data Management System. In: W. Kim and F. Lochovsky (ed) Object-Oriented Concepts, Databases and Applications. ACM Press and Addison Wesley, 1989, pp 283–308
Cooper R.L. On The Utilisation of Persistent Programming Environments. Ph.D. thesis, University of University of Glasgow, 1990
Kirby G.N.C., Dearle A. An Adaptive Graphical Browser for Napier88. University of St Andrews Report CS/90/16, 1990
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
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
Kirby G.N.C. Reflection and Hyper-Programming in Persistent Programming Systems. Ph.D. thesis, University of University of St Andrews, 1992
Morrison R., Balasubramaniam D., Greenwood M., Kirby G.N.C., Mayes K., Munro D.S., Warboys B.C. ProcessBase Reference Manual (Version 1.0.4). Universities of St Andrews and Manchester, 1999
Morrison R., Balasubramaniam D., Greenwood M., Kirby G.N.C., Mayes K., Munro D.S., Warboys B.C. A Compliant Persistent Architecture. To Appear: Proc. Software Practice and Experience, 1999
Connor R.C.H., Cutts Q.I., Kirby G.N.C., Morrison R. Using Persistence Technology to Control Schema Evolution. In: Proc. 9th ACM Symposium on Applied Computing, Phoenix, Arizona, 1994, pp 441–446
Connor R.C.H., Atkinson M.P., Berman S., Cutts Q.I., Kirby G.N.C., Morrison R. The Joy of Sets. In: C. Beeri, A. Ohori and D. E. Shasha (ed) Database Programming Languages, Proc. 4th International Conference on Database Programming Languages (DBPL4), New York City. Springer-Verlag, 1993, pp 417–433
Atkinson M.P., Lecluse C., Philbrow P., Richard P. Design Issues in a Map Language. In: P. Kanellakis and J. W. Schmidt (ed) Bulk Types & Persistent Data. Morgan Kaufmann, 1991, pp 20–32
Stemple D., Fegaras L., Sheard T., Socorro A. Exceeding the Limits of Polymorphism in Database Programming Languages. In: F. Bancilhon, C. Thanos and D. Tsichritzis (ed) Lecture Notes in Computer Science 416, Proc. 2nd International Conference on Extending Database Technology (EDBT’90), Venice, Italy. Springer-Verlag, 1990, pp 269–285
Stemple D., Stanton R.B., Sheard T., Philbrow P., Morrison R., Kirby G.N.C., Fegaras L., Cooper R.L., Connor R.C.H., Atkinson M.P., Alagic S. Type-Safe Linguistic Reflection: A Generator Technology. To Appear: Proc. The FIDE Book, 1999
Connor R.C.H., Sibson K., Manghi P. On the Unification of Persistent Programming and the World-Wide Web (LNCS). In: Lecture Notes in Computer Science, Proc. Workshop on the Web and Databases (WebDB’98), Valencia, Spain. Springer-Verlag, 1998
Simeoni F. Extracting Typed Data from Semi-Structured Collections. MSc thesis, University of University of Glasgow, 1998
Connor R.C.H., Manghi P., Simeoni F. A Kinded Approach to Extracting Typed Subsets from Semi-Structured Data. in preparation. Please contact the authors.
Stallman R.M. EMACS: The Extensible, Customizable Self-Documenting Display Editor. ACM SIGPLAN Notices 1981; 16,6:147–156
Altrasoft. Hyperbole, 1998
Bray T., Paoli J., Sperberg-McQueen C.M. Extensible Markup Language (XML) 1.0. W3C, 1998
Stemple D., Sheard T., Fegaras L. Linguistic Reflection: A Bridge from Programming to Database Languages. In: Proc. 25th International Conference on Systems Sciences, Hawaii, 1992, pp 844–855
Kirby G.N.C., Connor R.C.H., Morrison R. START: A Linguistic Reflection Tool Using Hyper-Program Technology. In: M. P. Atkinson, D. Maier and V. Benzaken (ed) Persistent Object Systems, Proc. 6th International Workshop on Persistent Object Systems (POS6), Tarascon, France. Springer-Verlag, 1994, pp 355–373
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Morrison, R. et al. (2000). Current Directions in Hyper-Programming. In: Bjøner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 1999. Lecture Notes in Computer Science, vol 1755. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46562-6_28
Download citation
DOI: https://doi.org/10.1007/3-540-46562-6_28
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67102-2
Online ISBN: 978-3-540-46562-1
eBook Packages: Springer Book Archive