Z. Wu
R.J. Stroud
K. Moody
J. Bacon
University of Newcastle upon Tyne. 1995.
A major issue in persistent systems is preserving data consistency in the presence of concurrency and failures. This paper presents a persistent system PC++ that takes an atomic data type approach to resolving this issue. Unlike existing systems, support for atomic data types in PC++ is implicit so that programmers are required to do very little extra work to make an object atomic. Programmers implement atomic data types as if for a sequential and reliable environment and specify the conflict relationship between object operations separately in a small, but expressive declarative language. The PC++ system will then automatically provide appropriate synchronisation and recovery code for atomic objects according to their conflict relation.