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.
Preview
Unable to display preview. Download preview PDF.
References
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
M.P. Atkinson, O.P. Buneman, “Types and Persistence in Database Programming Languages” ACM Computing Surveys, 19, 2, 1987, pp. 105–190
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
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
R.G.G.Cattel, “Object Data Management” Addision-Wesley, 1994
O. Deux, “The story of O2” IEEE Trans. on Knowledge and Data Engineering, 2, 1, 1990, pp. 91–108
A. Goldberg and D. Robson, “Smalltalk-80, the language and its implementation” Reading MA: Addison-Wesley, 1983
M. Knasmüller, “Oberon Dialogs: A User Interface for End Users” Proc. of the GI/SI Annual Conference, Zurich, Springer, 1995
H. Mössenböck, N. Wirth: “The Programming Language Oberon-2” Structured Programming, 12, 4, 1991, pp. 179–195
J.Templ, “Metaprogramming in Oberon” PhD Dissertation. ETH Zürich 1995
N. Wirth, J. Gutknecht, “The Oberon System” Software — Practice and Experiences, 19, 9, 1989
P.Wilson, “Uniprocessor Garbage Collection Techniques” Lecture Notes in Computer Science 637, Springer 1992, pp. 1–42
Author information
Authors and Affiliations
Editor information
Rights 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