<?xml version="1.0" encoding="UTF-8"?><xml><records><record><source-app name="Biblio" version="7.x">Drupal-Biblio</source-app><ref-type>5</ref-type><contributors><authors><author><style face="normal" font="default" size="100%">Atkinson, M. P.</style></author><author><style face="normal" font="default" size="100%">Dmitriev, M. A.</style></author><author><style face="normal" font="default" size="100%">Hamilton, C.</style></author><author><style face="normal" font="default" size="100%">Printezis, T.</style></author></authors><secondary-authors><author><style face="normal" font="default" size="100%">Graham N. C.</style></author><author><style face="normal" font="default" size="100%">Kirby, Alan Dearle</style></author><author><style face="normal" font="default" size="100%">Dag I. K. Sjøberg</style></author></secondary-authors></contributors><titles><title><style face="normal" font="default" size="100%">Scalable and Recoverable Implementation of Object Evolution for the PJama1 Platform </style></title><secondary-title><style face="normal" font="default" size="100%">Persistent Object Systems: Design, Implementation, and Use 9th International Workshop, POS-9 Lillehammer, Norway, September 6–8, 2000 Revised Papers</style></secondary-title><tertiary-title><style face="normal" font="default" size="100%">Lecture Notes in Computer Science</style></tertiary-title></titles><dates><year><style  face="normal" font="default" size="100%">2001</style></year></dates><urls><web-urls><url><style face="normal" font="default" size="100%">http://www.springerlink.com/content/09hx07h9lw0p1h82/?p=2bc20319905146bab8ba93b2fcc8cc01&amp;pi=23</style></url></web-urls><related-urls><url><style face="normal" font="default" size="100%">http://research.nesc.ac.uk/files/Scalable%20and%20Recoverable%20Implementation%20of%20Object%20Evolution%20for%20the%20PJama%20Platform.pdf</style></url></related-urls></urls><publisher><style face="normal" font="default" size="100%">Springer</style></publisher><volume><style face="normal" font="default" size="100%">2135</style></volume><pages><style face="normal" font="default" size="100%">292-314,</style></pages><abstract><style face="normal" font="default" size="100%">PJama1 is the latest version of an orthogonally persistent platform for Java. It depends on a new persistent object store, Sphere, and provides facilities for class evolution. This evolution technology supports an arbitrary set of changes to the classes, which may have arbitrarily large populations of persistent objects. We verify that the changes are safe. When there are format changes, we also convert all of the instances, while leaving their identities unchanged. We aspire to both very large persistent object stores and freedom for developers to specify arbitrary conversion methods in Java to convey information from old to new formats.

Evolution operations must be safe and the evolution cost should be approximately linear in the number of objects that must be reformatted. In order that these conversion methods can be written easily, we continue to present the pre-evolution state consistently to Java executions throughout an evolution. At the completion of applying all of these transformations, we must switch the store state to present only the post-evolution state, with object identity preserved. We present an algorithm that meets these requirements for eager, total conversion.

This paper focuses on the mechanisms built into Sphere to support safe, atomic and scalable evolution. We report our experiences in using this technology and include a preliminary set of performance measurements.
</style></abstract></record></records></xml>