[comp.os.research] Arjuna project details

graham@kelpie.ncl.ac.uk (Graham D Parrington) (01/29/88)

Arjuna is an object-based fault-tolerant distributed programming system which
is being designed and implemented in the language C++ on a set of UNIX
workstations connected by Ethernet.  Arjuna employs atomic actions
(transactions) for structuring programs.  Programs operate on objects which
are instances of abstract data types. In Arjuna, objects are long-lived
entities (persistent) and are the main repositories for holding system state.
By ensuring that objects are only manipulated within atomic actions, it can
be guaranteed that the integrity of the objects (and hence the integrity of
the system) is maintained in the presence of failures such as node crashes
and the loss of network messages.

There are several aspects of Arjuna that are novel. These include (i) use of
multicast remote procedure calls for managing a variety of activities of
process groups, such as commit processing; (ii) use of type-inheritance for
specifying and implementing recovery and concurrency control strategies; and
(iii) use of nested, concurrent actions for program structuring. Arjuna
objects are normally resident in local object stores in a passive mode; an
object invocation activates the stored object. When an object commits
(terminates), active objects are put back on the respective object stores
(passivated).

Major parts have been implemented, currently we are integrating these parts
to form a complete system.

Graham Parrington
Computing Laboratory
University of Newcastle upon Tyne
Claremont Tower
Claremont Road
Newcastle upon Tyne
NE1 7RU
ENGLAND

Tel: +44 91-232-9233
Email: graham%cheviot.newcastle.ac.uk@nss.cs.ucl.ac.uk

Publications:

%A G.N. Dixon
%A S.K. Shrivastava
%T Exploiting Type-Inheritance Facilities to Implement Recoverability
in Object-Based Systems
%J Proceedings of the Sixth Symposium on Distributed Software and
Database Systems
%I IEEE
%D March 1987
%P 17-19

%A G.N. Dixon
%A S.K. Shrivastava
%A G.D. Parrington
%T Managing Persistent Objects in Arjuna: A System for Reliable
Distributed Computing
%J Proceedings of the Workshop on Persistent Object Systems: their
Design, Implementation and Use
%C Appin, Scotland
%D August 1987

%A G.N. Dixon
%T Object and Action Management in a Reliable Distributed Programming
System
%R Ph.D Thesis
%I University of Newcastle upon Tyne
%D In Preparation.

%A G.D. Parrington
%A S.K. Shrivastava
%T Implementing Concurrency Control in Reliable Distributed Object-Based Systems
%R Technical Report
%I University of Newcastle upon Tyne
%D In Preparation

%A G.D. Parrington
%T Concurrency Control and Atomicity in a Reliable Distributed
Computing System
%R Ph.D Thesis
%I University of Newcastle upon Tyne
%D In Preparation.
 
%A S.K. Shrivastava
%A G.N. Dixon
%A G.D. Parrington
%T Objects and Actions in Reliable Distributed Systems
%J Software Engineering Journal
%I IEE
%V 2
%N 5
%D September 1987
%P 160-168

graham@kelpie.ncl.ac.uk (Graham D Parrington) (01/29/88)

	Arjuna is an object-based fault-tolerant distributed
programming system which is being designed and implemented in the
language C++ on a set of UNIX workstations connected by Ethernet.
Arjuna employs atomic actions (transactions) for structuring programs.
Programs operate on objects which are instances of abstract data
types. In Arjuna, objects are long-lived entities (persistent) and are
the main repositories for holding system state. By ensuring that
objects are only manipulated within atomic actions, it can be
guaranteed that the integrity of the objects (and hence the integrity
of the system) is maintained in the presence of failures such as node
crashes and the loss of network messages.
	There are several aspects of Arjuna that are novel. These
include (i) use of multicast remote procedure calls for managing a
variety of activities of process groups, such as commit processing;
(ii) use of type-inheritance for specifying and implementing recovery
and concurrency control strategies; and (iii) use of nested,
concurrent actions for program structuring. Arjuna objects
are normally resident in local object stores in a passive mode; an
object invocation activates the stored object. When an object commits
(terminates), active objects are put back on the respective object
stores (passivated).
	Major parts have been implemented, currently we are
integrating these parts to form a complete system.

Graham Parrington
Computing Laboratory
University of Newcastle upon Tyne
Claremont Tower
Claremont Road
Newcastle upon Tyne
NE1 7RU
ENGLAND

Tel: +44 91-232-9233
Email: graham%cheviot.newcastle.ac.uk@nss.cs.ucl.ac.uk

Publications:

%A G.N. Dixon
%A S.K. Shrivastava
%T Exploiting Type-Inheritance Facilities to Implement Recoverability
in Object-Based Systems
%J Proceedings of the Sixth Symposium on Distributed Software and
Database Systems
%I IEEE
%D March 1987
%P 17-19

%A G.N. Dixon
%A S.K. Shrivastava
%A G.D. Parrington
%T Managing Persistent Objects in Arjuna: A System for Reliable
Distributed Computing
%J Proceedings of the Workshop on Persistent Object Systems: their
Design, Implementation and Use
%C Appin, Scotland
%D August 1987

%A G.N. Dixon
%T Object and Action Management in a Reliable Distributed Programming
System
%R Ph.D Thesis
%I University of Newcastle upon Tyne
%D In Preparation.

%A G.D. Parrington
%A S.K. Shrivastava
%T Implementing Concurrency Control in Reliable Distributed Object-Based Systems
%R Technical Report
%I University of Newcastle upon Tyne
%D In Preparation

%A G.D. Parrington
%T Concurrency Control and Atomicity in a Reliable Distributed
Computing System
%R Ph.D Thesis
%I University of Newcastle upon Tyne
%D In Preparation.
 
%A S.K. Shrivastava
%A G.N. Dixon
%A G.D. Parrington
%T Objects and Actions in Reliable Distributed Systems
%J Software Engineering Journal
%I IEE
%V 2
%N 5
%D September 1987
%P 160-168