Type Evolution and Version Management in a Persistent Distributed Operating System


Todays commercial Operating Systems (OS) use message passing communication facilities such as Corba, Remote Procedure Calls, and TCP/IP. Distributed Shared Memory (DSM) is an alternative mainly used for scientific computing and specific parallel algorithms. We are currently developing a general purpose PC Operating System using the DSM paradigm as communication media. A new memory consistency model using restartable transactions and optimistic synchronization simplifies the programming of distributed applications. The Plurix system is developed using our Plurix Java Compiler (PJC) translating Java sources directly into Intel machine instructions. The PJC is bootstrapped to the Plurix world where it becomes an integral part of the OS. The benefits of persistence for software development are widely appreciated but appropriate OS and compiler support is necessary to circumvent the inherent problems. Here we investigate the problem of type evolution caused by evolving of persistent types. We briefly review the persistent Plurix environment, the PJC, and our separate compilation scheme exploiting persistent symbol tables. We discuss Java binary compatibility rules for our system and define the stricter term backward compatibility. Furthermore we present mechanisms for smooth type evolution and version management for different type generations.

Cite this paper

@inproceedings{Schttner2001TypeEA, title={Type Evolution and Version Management in a Persistent Distributed Operating System}, author={Michael Sch{\"{o}ttner and Oliver Marquardt and Moritz Wende and Pascale Schulthess}, year={2001} }