Abstract
This paper presents the programming language Persistent Oberon, which offers persistence as a naturally inbuilt concept. Program data is automatically kept durable and stored in non-volatile memory, without the programmer having to write explicit code for the interactions with an external database system. In the case of a system interruption or failure, the program can directly continue from its latest consistent state. In contrast to other existent persistent programming languages, this language does not need any artificial programming interfaces or commands to use persistence. The programming language is completely implemented and offers a high scalability and performance.
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
Amsaleg, L., Franklin, M., Gruber, O.: Efficient Incremental Garbage Collection for Workstation/Server Database Systems. In: VLDB (September 1995)
Amsaleg, L., Franklin, M., Gruber, O.: Garbage Collection for a Client-Server Persistent Object Store. ACM Transactions on Computer Systems 17(3), 153–201 (1999)
Atkinson, M.P., Bailey, P.J., Chisholm, K.J., Cockshott, W.P., Morrison, R.: PS-algol: A Language for Persistent Programming. In: Austrian National Computer Conference (September 1983)
Atkinson, M.P., Daynès, M.J., Spence, S.: Design Issues for Persistent Java. A Type-Safe Object-Oriented Orthogonally Persistent System. In: POS (May 1996)
Atkinson, M.P., Daynès, L., Jordan, M.J., Printezis, T., Spence, S.: An Orthogonally Persistent Java. ACM SIGMOD Record 25(4), 68–75 (1996)
Atkinson, M.P., Jordan, M.J.: A Review of the Rationale and Architecture of PJama: A Durable, Flexible, Evolvable and Scalable Orthogonally Persistent Programming Platform, Sun Labs Technical Report TR-2000-90, Sun Microsystems Laboratories (June 2000)
Atkinson, M.P., Morrison, R.: Orthogonally Persistent Object Systems. VLDB Journal 4(3), 319–402 (1995)
Atkinson, M.P.: Programming Languages and Databases. VLDB Journal, 408–429 (1978)
Bernstein, P.A., Hadzillacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison Wesley, Reading (1987)
Bläser, L.: The Persistent Oberon System, http://www.jg.inf.ethz.ch/persistence
Bläser, L.: A Programming Language with Natural Persistence, Poster Session. In: OOPSLA (October 2006)
Boyapati, C.: JPS: A Distributed Persistent Java System, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology (September 1998)
Carey, M.J., De Witt, D.J., Naughton, J.F.: The OO7 Benchmark. In: ACM SIGMOD Conference, Washington, D.C (May 1993)
Carey, J., DeWitt, D.J., Franklin, M.J., et al.: Shoring up persistent applications. ACM SIGMOD Record 23(2), 383–394 (1994)
Dearle, A., di Bona, R., Farro, J., et al.: Grasshopper: An Orthogonally Persistent Operating System. Computing Systems 7(3), 289–312 (1994)
Gutknecht, J.: Do the Fish Really Need Remote Control? A Proposal for Self-Active Objects in Oberon. In: JMLC (March 1997)
He, Z., Blackburn, S.M., Kirby, L., Zigman, J.: Platypus: Design and Implementation of a Flexible High Performance Object Store. In: POS (September 2000)
Hosking, A.L., Moss, J.E.B.: Towards Compile-Time Optimisations for Persistence. In: POS (September 1990)
Hosking, A.L., Chen, J.: PM3: An Orthogonally Persistent Systems Programming Language – Design, Implementation, Performance. In: VLDB (1999)
Hosking, A.L., Chen, J.: Mostly-Copying Reachability-Based Orthogonal Persistence. ACM SIGPLAN Notices 34(10) (1999)
Knasmüller, M.: Adding Persistence to the Oberon System. In: JMLC (March 1997)
Lewis, B., Mathiske, B., Gafter, N.: Architecture of the PEVM: A High-Performance Orthogonally Persistent Java(tm) Virtual Machine. In: POS (September 2000)
Maheshwari, U., Liskov, B.: Partitioned Garbage Collection of a Large Object Store. In: ACM SIGMOD, pp. 313–323 (1997)
Morrison, R., Connor, R.C.H., Cutts, Q.I., et al.: The Napier88 Persistent Programming Environment, School of Mathematical and Computational Sciences, University of St. Andrews, Scotland (1999)
Moss, J.E.B.: Nested Transactions: An Approach to Reliable Distributed Computing. MIT Press, Cambridge Mass (1985)
Moss, J.E.B., Munro, D.S., Hudson, R.L.: PMOS: A Complete and Coarse-Grained Incremental Garbage Collector for Persistent Object Stores. In: POS (May 1996)
Moss, J.E.B., Hosking, A.L.: Expressing Object Residency Optimizations Using Pointer Type Annotations. In: POS (September 1994)
Muller, P.J.: The Active Object System. Design and Multiprocessor Implementation, PhD thesis 14755, Department of Computer Science, ETH Zurich (2002)
Munro, D.S., Brown, A.L., Morrison, R., Moss, J.E.B.: Incremental Garbage Collection of a Persistent Store using PMOS. In: POS (September 1998)
O’Toole, J., Nettle, S., Gifford, D.: Concurrent Compacting Garbage Collection of a Persistent Heap. In: SOSP (December 1993)
Printezis, A.: Management of Long-Running High-Performance Persistent Object Stores, PhD Thesis, Department of Computing Science, University of Glasgow (May 2000)
Reali, P.: Active Oberon Language Report, Institute of Computer Systems, ETH Zurich (March 2002), http://www.bluebottle.ethz.ch/languagereport/ActiveReport.pdf
Shavit, N., Touitou, D.: Software Transactional Memory. In: Symposium on Principles of Distributed Computing (August 1995)
Skoglund, E., Ceelen, C., Liedtke, J.: Transparent Orthogonal Checkpointing through User-Level Pagers. In: POS (September 2000)
Sun Microsystems. Java Data Objects (JDO), http://java.sun.com/products/jdo
Wirth, N.: Modula: A Language for Modular Multiprogramming. Software - Practice and Experience 7(1), 3–35 (1977)
Wirth, N.: The Programming Language Oberon. Software - Practice and Experience 18(7), 671–690 (1988)
Wirth, N., Gutknecht, J.: The Oberon System. Software - Practice and Experience 19(9), 857–893 (1989)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bläser, L. (2007). Persistent Oberon: A Programming Language with Integrated Persistence. In: Shao, Z. (eds) Programming Languages and Systems. APLAS 2007. Lecture Notes in Computer Science, vol 4807. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-76637-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-76637-7_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-76636-0
Online ISBN: 978-3-540-76637-7
eBook Packages: Computer ScienceComputer Science (R0)