Software development environment transactions: their implementation and use in Cosmos
Jonathan Walpole, A. Barber, Gordon S. Blair, John R. Nicol · 2002
Describes the design, implementation, and use of the Cosmos transaction mechanism, which is based on the concept of immutable objects that can be grouped to form consistent configurations. Configurations evolve from one consistent version to the next through the application of atomic transactions. Such transactions can be long-term, and the creation of save points, the synchronization mechanization used, and the eventual commitment of the transaction are all under the control of the application. When the mechanism is based on the concept of immutable objects the issues of consistency, serializability, and merging can be clearly separated. This provides the high degree of flexibility, necessary for supporting long transactions in software development environments. An additional benefit is that it simplifies the recovery aspect of the transaction mechanism.>