Skip to main content

Persistent Languages and Architectures

  • Conference paper

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abramson, D.A. “Hardware Management of a Large Virtual Memory”, Proceedings 4th Australian Computer Science Conference, Brisbane 1981, pp. 1–13.

    Google Scholar 

  2. 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.

    Article  Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Article  Google Scholar 

  5. 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.

    Article  MATH  Google Scholar 

  6. 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.

    MATH  Google Scholar 

  7. Atkinson, M.P. & Morrison, R. “Integrated Persistent Programming Systems”. 19th International Conference on System Sciences, Hawaii, U.S.A., (January 1986), pp. 842–854.

    Google Scholar 

  8. Atkinson, M.P., Morrison, R. & Pratten, G.D. “Designing a persistent information space architecture”. 10th IFIP World Congress, Dublin (September 1986), pp. 115–120.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Article  MATH  Google Scholar 

  11. 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.

    Google Scholar 

  12. 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).

    Google Scholar 

  13. Brown A.L. & Cockshott W.P. “The CPOMS Persistent Object Management System.” Universities of Glasgow and St.Andrews PPRR-13, Scotland, (1985).

    Google Scholar 

  14. Brown A.L. (Ph.D. Thesis) “Persistent Object Stores.” Universities of Glasgow and St.Andrews PPRR-71, Scotland, (1989).

    Google Scholar 

  15. Cardelli, L. & Wegner, P. “On understanding types, data abstraction and polymorphism”. ACM Computing Surveys 17, 4, (December 1985), pp. 471–523.

    Article  Google Scholar 

  16. Cardelli, L. Amber. Tech. Report AT7T. Bell Labs. Murray Hill, U.S.A. (1985).

    Google Scholar 

  17. Cardelli, L. “Typeful Programming”. DEC SRC Report, (May 1989).

    Google Scholar 

  18. 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.

    Article  Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. Dearle A. & Brown A.L. “Safe Browsing in a Strongly Typed Persistent Environment”. The Computer Journal 31, 6, (December 1988), pp. 540–545.

    Article  Google Scholar 

  23. Evered, M. “Leibniz - A Language to Support Software Engineering”. PhD thesis Technical University of Darmstadt (1985).

    MATH  Google Scholar 

  24. 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.

    Google Scholar 

  25. 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

    Google Scholar 

  26. Ichbiah et al., The Programming Language Ada Reference Manual. ANSI/MIL-STD-1815A-1983. (1983).

    Google Scholar 

  27. Lorie A.L. “Physical Integrity in a Large Segmented Database.” ACM Transactions on Database Systems, vol. 2, no. 1, 1977, pp. 91–104.

    Article  Google Scholar 

  28. McNally, D.J. “Code Generating Functional Language Modules for a Persistent Object Store”. University of St Andrews STAPLE/89/2 (1989).

    Google Scholar 

  29. 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.

    Google Scholar 

  30. Matthews, D.C.J. “Poly Manual” Technical Report 65, University of Cambridge, U.K. (1985).

    Google Scholar 

  31. 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.

    Article  Google Scholar 

  32. 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.

    Google Scholar 

  33. Morrison R., Brown A.L., Connor R. & Dearle A. “The Napier88 Reference Manual.” Universities of Glasgow and St. Andrews PPRR-77, Scotland, (1989).

    Google Scholar 

  34. 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).

    Google Scholar 

  35. 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).

    Google Scholar 

  36. “The PS-algol Reference Manual fifth edition.” Universities of Glasgow and StAndrews PPRR-12, Scotland, (1988).

    Google Scholar 

  37. 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.

    Google Scholar 

  38. 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).

    Google Scholar 

  39. 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).

    Google Scholar 

  40. Ross G.D.M. (Ph.D. Thesis) “Virtual Files: A Framework for Experimental Design.” University of Edinburgh, (1983).

    Google Scholar 

  41. Schmidt, J.W. “Some high level language constructs for data of type relation”. ACM.TODS 2, 3 (1977), pp. 247–261.

    Article  Google Scholar 

  42. 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.

    Google Scholar 

  43. Stroustrup B. The C++ Programming Language, Addison Wesley (1986).

    MATH  Google Scholar 

  44. 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.

    Google Scholar 

  45. Traiger, I.L. “Virtual Memory Management for Database Systems”, Operating Systems Review, 16, 4, (October 1982), pp. 26–48.

    Article  Google Scholar 

  46. 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.

    Google Scholar 

  47. Zdonik, S.B. “Query Optimisation in Object-Oriented Databases”. 22nd Hawaii International Conference on System Sciences (Jan 1989), II, pp. 19–25.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics