40 Years of Computing at Newcastle

Department Technical Report Series No. 509

The Design and Implementation of Arjuna.

G.D.Parrington
S.K. Shrivastava
S.M. Wheater
M.C. Little

University of Newcastle upon Tyne. 1995.

Abstract

Arjuna is an object-oriented programming system, implemented entirely in C++, that provides a set of tools for the construction of fault-tolerant distributed applications. Arjuna exploits features found in most object-oriented languages (such as inheritance) and only requires a limited set of system capabilities commonly found in conventional operating systems. Arjuna provides the programmer with classes that implement atomic transactions, object level recovery, concurrency control and persistence. These facilities can be overridden by the programmer as the needs of the application dictate. Distribution of an Arjuna application is handled using stub generation techniques that operate on the original C++ class headers normally used by the standard compiler. The system is portable, modular and flexible. The paper presents the design and implementation details of Arjuna and takes a retrospective look at the system based on the application building experience of users.


Department Technical Report Series - 1995
Department Technical Report Series Index
Contents Page - 40 Years of Computing at Newcastle
Technical Report Abstract No. 509, 30 June 1997