Issues Raised by Three Years of Developing PJama: An Orthogonally Persistent Platform for Java

  • Authors:
  • Malcolm P. Atkinson;Mick J. Jordan

  • Affiliations:
  • -;-

  • Venue:
  • ICDT '99 Proceedings of the 7th International Conference on Database Theory
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Orthogonal persistence is based on three principles that have been understood for nearly 20 years. PJama is a publically available prototype of a Java platform that supports orthogonal persistence. It is already capable of supporting substantial applications. The experience of applying the principles of orthogonal persistence to the Java programming language is described in the context of PJama. For example, issues arise over achieving orthogonality when there are classes that have a special relationship with the Java Virtual Machine. The treatment of static variables and the definition of reachability for classes and the handling of the keyword transient also pose design problems. 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 a major barrier to deploying orthogonal persistence for the Java language. The predominant focus is on semantic issues, but with concern for reasonably efficient implementation. We take the opportunity throughout the paper and in the conclusions to identify directions for further work.