Skip to main content

Adding persistence to the Oberon-System

  • Conference paper
  • First Online:
Modular Programming Languages (JMLC 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1204))

Included in the following conference series:

Abstract

Oberon and Oberon-2 [MöW91] are general purpose programming languages in the tradition of Pascal and Modula-2. Oberon [WiGu89] is also a modular, single-threaded operating system for single-user operation of workstations. It is used in daily work as well as in programming courses. One missing point of Oberon is the existence of database functionality such as persistence or recovery.

This report describes the project Oberon-D, which adds database functionality to the Oberon system. The first step of this project is to include persistence, i.e., the object's property to outlive the program that created it.

Persistence in the Oberon system is obtained by a persistent heap on the disk. Persistent objects are on this heap, while transient objects are in the transient memory. Transient and persistent objects can access each other mutually. Accessing a persistent object leads to loading the object into the transient heap. If persistent objects are not accessed from transient objects any more, they are written back to the persistent heap. Persistent objects, which are not referenced by other persistent objects, are reclaimed by a garbage collector. We show the use of persistence as well as its implementation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R.Agrawal and N.H.Gehani, “Ode: The Language and the Data Model” Proc. ACM-SIGMOD 1989 Int'l Conf. Management of Data, Portland, Oregon, May–June 1989, pp. 36–45

    Google Scholar 

  2. M.P. Atkinson, O.P. Buneman, “Types and Persistence in Database Programming Languages” ACM Computing Surveys, 19, 2, 1987, pp. 105–190

    Google Scholar 

  3. L.Böszörmenyi, K.H.Eder “Adding Parallel and Persistent Sets to Modula-3” Proc. of the Joint Modular Languages Conference 1994 Universitätsverlag Ulm, 1994

    Google Scholar 

  4. R. Breitl, “The GemStone data management System” In “Object-Oriented Concepts, Databases, and Applications” W. Kim and F. Lochovsky, eds., pp. 283–308, Reading MA: Addison-Wesley, 1989

    Google Scholar 

  5. R.G.G.Cattel, “Object Data Management” Addision-Wesley, 1994

    Google Scholar 

  6. O. Deux, “The story of O2” IEEE Trans. on Knowledge and Data Engineering, 2, 1, 1990, pp. 91–108

    Google Scholar 

  7. A. Goldberg and D. Robson, “Smalltalk-80, the language and its implementation” Reading MA: Addison-Wesley, 1983

    Google Scholar 

  8. M. Knasmüller, “Oberon Dialogs: A User Interface for End Users” Proc. of the GI/SI Annual Conference, Zurich, Springer, 1995

    Google Scholar 

  9. H. Mössenböck, N. Wirth: “The Programming Language Oberon-2” Structured Programming, 12, 4, 1991, pp. 179–195

    Google Scholar 

  10. J.Templ, “Metaprogramming in Oberon” PhD Dissertation. ETH Zürich 1995

    Google Scholar 

  11. N. Wirth, J. Gutknecht, “The Oberon System” Software — Practice and Experiences, 19, 9, 1989

    Google Scholar 

  12. P.Wilson, “Uniprocessor Garbage Collection Techniques” Lecture Notes in Computer Science 637, Springer 1992, pp. 1–42

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hanspeter Mössenböck

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Knasmüller, M. (1997). Adding persistence to the Oberon-System. In: Mössenböck, H. (eds) Modular Programming Languages. JMLC 1997. Lecture Notes in Computer Science, vol 1204. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62599-2_33

Download citation

  • DOI: https://doi.org/10.1007/3-540-62599-2_33

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62599-5

  • Online ISBN: 978-3-540-68328-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics