The Design and Implementation of Arjuna (1995)

Author(s): Parrington GD, Shrivastava SK, Wheater SM, Little MC

    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.

      • Date: 1995
      • Journal: Computing Systems
      • Volume: 8
      • Issue: 3
      • Pages: 255-308
      • Publisher: MIT Press
      • Publication type: Article
      • Bibliographic status: Published
        Staff

        Dr Mark Little
        Visiting Professor

        Emeritus Professor Santosh Shrivastava
        Senior Research Investigator

        Dr Stuart Wheater
        Visiting Fellow