The JR Concurrent Programming Language
The JR Concurrent Programming Language
The JR programming language extends Java to provide a rich concurrency model, based on that of the SR concurrent programming language. JR provides dynamic remote virtual machine creation, dynamic remote object creation, remote method invocation, asynchronous communication, rendezvous, and dynamic process creation. JR takes a novel object-oriented approach to synchronization, which leads to more flexible programming of concurrent applications like servers. JR can, depending on one's particular definitions, also be considered a distributed programming language or a parallel programming language.JR programs are written in an extended Java and then translated into standard Java programs. The JR run-time support system is also written in standard Java. JR runs on UNIX-based systems (Linux, Solaris, Mac OS X) and Windows.
The JR_distribution includes the JR translator; the JR virtual machine (JRVM); the JR verification tool and test suite (jrv, for checking proper functioning of the JR implementation); documentation; numerous JR example programs; and preprocessors that convert other concurrency notations (CCRs, monitors, and CSP) into JR.