Abstract
Persistent programming is concerned with creating and manipulating data in a manner that is independent of its lifetime. The persistence abstraction yields a number of advantages in terms of orthogonal design and programmer productivity. One major advantage is that the abstraction integrates the database view of information with the programming language view. For this reason persistent programming languages are sometimes called database programming languages.
A number of design principles have been devised for persistent systems. Following these rules, languages may be designed that provide persistence as a basic abstraction. This in turns begs the question of how these languages should be implemented and what architectural support is required for persistence.
Here we will review the concepts of persistence and re-examine the design issues that appear in persistent languages and architectures.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Abramson, D.A. “Hardware Management of a Large Virtual Memory”, Proceedings 4th Australian Computer Science Conference, Brisbane 1981, pp. 1–13.
Albano A., Cardelli L. & Orsini R. “Galilieo: A Strongly Typed, Interactive Conceptual Language.” ACM Transactions on Database Systems, vol. 10, no. 2, 1985, pp. 230–260.
Albano, A., Dearle, A., Ghelli, G., Marlin, C., Morrison, R., Orsini, R & Stemple, D. “A Framework for Comparing Type Systems for Database Programming Languages”. 2nd International Workshop on Database Programming Languages, Oregon (1989), pp. 203–212.
Atkinson, M.P., Chisholm, K.J. and Cockshott, W.P. “PS-algol: An Algol with a Persistent Heap”, ACM SIGPLAN Notices, 17, 7, July 1981, pp. 24–31.
Atkinson M.P., Chisholm K.J. & Cockshott W.P. “CMS - A Chunk Management System.” Software Practice and Experience, vol. 13, no. 3, (1983), pp. 259–272.
Atkinson M.P. Bailey P.J., Chisholm K.J. Cockshott W.P. & Morrison R. “An Approach to Persistent Programming.” The Computer Journal, vol. 26, no. 4, 1983, pp. 360–365.
Atkinson, M.P. & Morrison, R. “Integrated Persistent Programming Systems”. 19th International Conference on System Sciences, Hawaii, U.S.A., (January 1986), pp. 842–854.
Atkinson, M.P., Morrison, R. & Pratten, G.D. “Designing a persistent information space architecture”. 10th IFIP World Congress, Dublin (September 1986), pp. 115–120.
Atkinson, M.P. & Morrison, R. “Polymorphic Names, Types, Constancy and Magic in a Type Secure Persistent Object Store”. 2nd International Workshop on Persistent Object Systems, Appin, ( August 1987 ), pp. 1–12.
Atkinson, M.P., Buneman, O.P. & Morrison, R. “Binding and Type Checking in Database Programming Languages”. The Computer Journal. 31, 2 (1988), pp. 99–109.
Bancilhon F., Barbedette G., Benzaken V., Delobel C., Gamerman S., Lecluse C., Pfeffer P., Richard P. & Valez F. “The Design and Implementation of O2, an Object Oriented Database System”. Proc. 2nd International Workshop on Object-Oriented Database Systems, West Germany. In Lecture Notes in Computer Science, 334. Springer-Verlag (September 1988), pp. 1–22.
Bancilhon, F., Cluet, S. & Delobel, C. “A Query Language for the O2 Object-Oriented Database”. 2nd International Workshop on Database Programming Languages, Salishan, Oregon (1989).
Brown A.L. & Cockshott W.P. “The CPOMS Persistent Object Management System.” Universities of Glasgow and St.Andrews PPRR-13, Scotland, (1985).
Brown A.L. (Ph.D. Thesis) “Persistent Object Stores.” Universities of Glasgow and St.Andrews PPRR-71, Scotland, (1989).
Cardelli, L. & Wegner, P. “On understanding types, data abstraction and polymorphism”. ACM Computing Surveys 17, 4, (December 1985), pp. 471–523.
Cardelli, L. Amber. Tech. Report AT7T. Bell Labs. Murray Hill, U.S.A. (1985).
Cardelli, L. “Typeful Programming”. DEC SRC Report, (May 1989).
Cockshott, W.P., Atkinson, M.P., Bailey, P.J., Chisholm, K.J. and Morrison, R. “POMS: A Persistent Object Management System”, Software Practice and Experience, 14, 1, (January 1984), pp. 49–71.
Coloumb, R.M. “Issues in the Implementation of Persistent Prolog”. Proceeding of the 3rd International Workshop on Persistent Object Stores, Newcastle, N.S.W. (Jan 1989), pp. 67–79.
Connor, R.C.H., Dearie, A., Morrison, R. & Brown, A.L. “Existentially Quantified Types as a Database Viewing Mechanism”. Advances in Database Technology - EDBT90, Venice. In Lecture Notes in Computer Science. 416. Springer-Verlag (1990), pp. 301–315.
Connors T. & Lyngbaek P. “Providing Uniform Access to Heterogenous Information Bases”. Proc. 2nd International Workshop on Object-Oriented Database Systems, West Germany. In Lecture Notes in Computer Science, 334. Springer-Verlag, ( September 1988 ), pp. 162–173.
Dearle A. & Brown A.L. “Safe Browsing in a Strongly Typed Persistent Environment”. The Computer Journal 31, 6, (December 1988), pp. 540–545.
Evered, M. “Leibniz - A Language to Support Software Engineering”. PhD thesis Technical University of Darmstadt (1985).
Gray, P.M.D., Moffat, D.S. & Du Boulay, J.B.H. “Persistent Prolog: A Searching Storage Manager for Prolog”. Proceedings of the 1st International Workshop on Persistent Objects Systems, Appin, Scotland (August 1985), PPRR-16-85, Universities of Glasgow and St Andrews, pp. 353–368.
Hurst, A.J. & Sajeev, A.S.M. “A Capability Based Language for Persistent Programming: Implementation Issuse”. Proceeding of the 3rd International Workshop on Persistent Object Stores, Newcastle, N.S.W. (Jan 1989), pp. 186–201
Ichbiah et al., The Programming Language Ada Reference Manual. ANSI/MIL-STD-1815A-1983. (1983).
Lorie A.L. “Physical Integrity in a Large Segmented Database.” ACM Transactions on Database Systems, vol. 2, no. 1, 1977, pp. 91–104.
McNally, D.J. “Code Generating Functional Language Modules for a Persistent Object Store”. University of St Andrews STAPLE/89/2 (1989).
Matthes, F. & Schmidt, J.W. “The Type System of DBPL”. Proceeding of the 2nd International Workshop on Database Programming Languages, Salishan, Oregon (June 1989), pp. 219–225.
Matthews, D.C.J. “Poly Manual” Technical Report 65, University of Cambridge, U.K. (1985).
Morrison, R., Brown, A.L., Dearle, A. & Atkinson, M.P. “Flexible Incremental Binding in a Persistent Object Store”. ACM. Sigplan Notices, 23, 4 (April 1988), pp. 27–34.
Morrison, R., Brown, A.L., Carrick, R., Connor, R.C. & Dearle, A. “On the Integration of Object-Oriented and Process-Oriented Computation in Persistent Environments”. Proc. 2nd International Workshop on Object-Oriented Database Systems, West Germany (1988). In Lecture Notes in Computer Science, 334. Springer-Verlag, ( September 1988 ), pp. 334–339.
Morrison R., Brown A.L., Connor R. & Dearle A. “The Napier88 Reference Manual.” Universities of Glasgow and St. Andrews PPRR-77, Scotland, (1989).
Morrison R., Dearle A, Connor R.C.H. & Brown A.L. “An ad hoc Approach to the Implementation of Polymorphism”. University of St Andrews CS/90/1 (1990).
Morrison R., Brown A.L., Connor R.C.H., Cutts, Q.I., Dearle, A., Kirby, G., Rosenberg J.,& Stemple, D.., & Munro D.S. “Protection in Persistent Object Systems” International Workshop on Computer Architectures to Support Security and Persistence, Universität Bremen, West Germany, (May 1990).
“The PS-algol Reference Manual fifth edition.” Universities of Glasgow and StAndrews PPRR-12, Scotland, (1988).
Richardson, J.E. & Carey, M.J. “Implemeting Persistence in E”. Proceeding of the 3rd International Workshop on Persistent Object Stores, Newcastle, N.S.W. (Jan 1989), pp. 302–319.
Rosenberg J., Henskens F., Brown A.L., Morrison R. & Munro D.S. “Stability in a Persistent Store Based on a Large Virtual Memory.” International Workshop on Computer Architectures to Support Security and Persistence, Universität Bremen, West Germany, (May 1990).
Rosenberg, J., Keedy, J.L. and Abramson, D.A. “Addressing Mechanisms for Large Virtual Memories”, Research Report CS/90/2, University of St. Andrews, (1990).
Ross G.D.M. (Ph.D. Thesis) “Virtual Files: A Framework for Experimental Design.” University of Edinburgh, (1983).
Schmidt, J.W. “Some high level language constructs for data of type relation”. ACM.TODS 2, 3 (1977), pp. 247–261.
Stemple, D., Fegaras, L., Sheard, T. & Socorro, A. “Exceeding the Limits of Polymorphism in Database Programming Languages”. Advances in Database Technology - EDBT90, Venice. In Lecture Notes in Computer Science. 416. Springer-Verlag (1990), pp. 269–285.
Stroustrup B. The C++ Programming Language, Addison Wesley (1986).
Thatte S.M. “Persistent Memory: A Storage Architecture for Object Oriented Database Systems.” Proc. ACM/IEEE 1986 International Workshop on Object Oriented Database Systems, Pacific Grove, CA, (September 1986), pp. 148–159.
Traiger, I.L. “Virtual Memory Management for Database Systems”, Operating Systems Review, 16, 4, (October 1982), pp. 26–48.
Wileden, J.C., Wolf, A.L., Fisher, C.D. & Tarr, P.T. “PGraphite: An experiment in Persistent Typed Object Management”. SIGSOFT88 (1988), pp. 130–142.
Zdonik, S.B. “Query Optimisation in Object-Oriented Databases”. 22nd Hawaii International Conference on System Sciences (Jan 1989), II, pp. 19–25.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1990 British Computer Society
About this paper
Cite this paper
Morrison, R., Atkinson, M.P. (1990). Persistent Languages and Architectures. In: Rosenberg, J., Keedy, J.L. (eds) Security and Persistence. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3178-6_2
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3178-6_2
Publisher Name: Springer, London
Print ISBN: 978-3-540-19646-4
Online ISBN: 978-1-4471-3178-6
eBook Packages: Springer Book Archive