Orthogonal Persistence for Java? - A Mid-term Report

The experience of applying the principles of orthogonal persistence to the Java programming language is described in the context of the PJama prototype implementation. The model for checkpointing the state of a computation, including live threads, is analyzed and related to a transactional approach. The problem of dealing with state that is external to the PJama environment is explained and the solutions outlined. The difficult problem of system evolution is identified as the major barrier to deploying orthogonal persistence for the Java language.

[1]  R. G. G. Cattell,et al.  The Object Database Standard: ODMG-93 , 1993 .

[2]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[3]  Jochen Liedtke,et al.  A persistent system in real use-experiences of the first 13 years , 1993, Proceedings Third International Workshop on Object Orientation in Operating Systems.

[4]  John Rosenberg,et al.  Grasshopper: An Orthogonally Persistent Operating System , 1994, Comput. Syst..

[5]  Misha Dmitriev The First Experience of Class Evolution Support in PJama , 1998, POS/PJW.

[6]  Gerhard Weikum,et al.  Efficient transparent application recovery in client-server information systems , 1998, SIGMOD '98.

[7]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[8]  Patrick Valduriez,et al.  Efficient support for customizing concurrency control in Persistent Java , 1996 .

[9]  R. Connor,et al.  Design Issues for Persistent Java: a type-safe, object-oriented, orthogonally persistent system , 1996 .

[10]  C. R. Landau The checkpoint mechanism in KeyKOS , 1992, [1992] Proceedings of the Second International Workshop on Object Orientation in Operating Systems.

[11]  Tony Printezis Analysing a Simple Disk Garbage Collector , 1996 .

[12]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[13]  Doug Lea,et al.  Concurrent programming in Java - design principles and patterns , 1996, Java series.

[14]  Malcolm P. Atkinson,et al.  An orthogonally persistent Java , 1996, SGMD.

[15]  Quintin I. Cutts,et al.  Optimizing the Read and Write Barriers for Orthogonal Persistence , 1998, POS/PJW.

[16]  James A. Gosling,et al.  The Java application programming interface , 1996 .

[17]  David Jordan,et al.  The Object Database Standard: ODMG 2.0 , 1997 .

[18]  Mick J. Jordan Early Experiences with Persistent Java , 1996 .

[19]  Stephen M. Blackburn,et al.  Concurrency - The Fly in the Ointment? , 1998, POS/PJW.

[20]  Malcolm P. Atkinson,et al.  First International Workshop on Persistence and Java , 1996 .