40 Years of Computing at Newcastle

Department Technical Report Series No. 400

Stabilis: A Case Study in Writing Fault-Tolerant Distributed Applications Using Persistent Objects

L.E.Buzato
A.Calsavara

University of Newcastle upon Tyne. 1992

Abstract

This paper presents Stabilis, a fault-tolerant object-oriented distributed database management system that has been written as an exercise in persistent programming. Stabilis is implemented on top of Arjuna, an object-oriented programming system that provides the basic mechanisms for fault tolerance and distribution. The computational model used by Arjuna is based upon the concept of using atomic actions to control operations upon persistent objects. Stabilis aims at experimenting with Arjuna to build large applications that use persistent objects. Such experiment has led us to extend some of the mechanisms for persistent programming already existent in Arjuna. Stabilis manages objects that are persistent, recoverable and can be accessed remotely and concurrently in a consistent manner. Objects with such properties have an important function in the overall operation of Stabilis. The database manager can be operated either through a visual database interface or a query interpreter; both translate commands into a series of operations of the database manager. All operations of the database manager make use of atomic actions and locks to structure and control accesses to objects. A flexible use of nested atomic actions permits objects to retrogress to previous consistent states. Stabilis has been developed using C++; dispensing with the use of any specifically designed language for persistent programming.


Department Technical Report Series - 1992
Department Technical Report Series Index
Contents Page - 40 Years of Computing at Newcastle
Technical Report Abstract No. 400, 27 June 1997