page 1  (14 pages)
2to next section

Electra { Making Distributed Programs Object-Oriented?

Silvano Maffeis
[email protected]

University of Zurich Dept. of Computer Science
Winterthurerstr. 190, CH{8057 Zurich, Switzerland

IFI TR 93:17y

July 1993


Building failure-resilient, distributed software is difficult. In this paper we describe abstractions which help the programmer in developing such software systems by means of object-oriented programming. An object-oriented toolkit called Electra is presented, which provides abstractions for Remote Method Calling (RMC), object-groups, object-group communication with type checking, object-location trading and so forth. Electra allows the building of failure-resilient, directly distributed systems by reusing software components. With a simple example we demonstrate how a distributed, faulttolerant client-server application can be realized in Electra.

Keywords: Failure-Tolerance, Object-Groups, Object-Oriented Distributed Programming, Replication, Reusability

1 Introduction

There are two important requirements which toolkits for the development of reliable distributed systems should fulfill: one is to provide powerful abstractions which help programmers in building reliable distributed systems, the other is to increase the extent to which software components can be reused.

Currently, a small number of programming toolkits exist, mostly in the form of C programming libraries, which aid programmers in building reliable distributed software over non-distributed operating systems. Examples are Isis [3], Ansa [1], Psync [20] and Horus [23]. However, the methods and tools offered by such toolkits are often difficult to use by people lacking many years of experience in building distributed systems, since most of

?This work is supported by Siemens AG ZFE, Germany and Schweizer Bundesamt fur Konjunkturfragen, Grants No. 2255:1 and 2554:1
yIn: Proceedings of the Symposium on Experiences with Distributed and Multiprocessor Systems IV, USENIX, San Diego, CA, Sept. 1993