An object-oriented programming system developed by a team led by Professor Santosh Shrivastava at the University of Newcastle, implemented entirely in C++. Arjuna provides a set of tools for the construction of fault-tolerant distributed applications. It 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. The system is portable, modular and flexible; the system software has been available via FTP since 1992.