.SZ 10 13
.SP
.po 1.4i
.ll 5.5i
.sv 0.8i
.ce 2
\fBAn Overview of the SR Language and Implementation\fR
.sp 1.5
.ce 7
\fIGregory R. Andrews
Ronald A. Olsson
Michael Coffin
Irving Elshoff
Kelvin Nilsen
Titus Purdin
Gregg Townsend\fR
.sp 1.5
.ce
TR 86-6c
.sp 2
.ce
\fIABSTRACT\fR
.sp .5
.lp
.(f
This research was supported by NSF under Grant DCR-8402090
and by the Air Force Office of Scientific Research
under Grant AFOSR-84-0072.
The U.S. Government is authorized to reproduce and distribute
reprints for Governmental purposes notwithstanding any
copyright notices thereon.
.)f
.(f
Olsson's present address is Division of Computer Science,
The University of California at Davis, Davis, CA 95616.
Purdin's present address is Department of Computer Science,
Colorado State University, Fort Collins, CO 80523.
.)f
SR is a language for programming distributed systems ranging
from operating systems to application programs.
Based on our experience with the initial version
of the language, SR has evolved considerably.
This paper describes the current version
of SR and gives an overview of its implementation.
The main language constructs are still resources and operations.
Resources encapsulate processes and variables they share;
operations provide the primary mechanism for process interaction.
One way in which SR has changed is that both
resources and processes are now created dynamically.
Another change is that inheritance is supported.
A third change is that the mechanisms for operation
invocation\(em%call and %send\(emand operation
implementation\(em%proc and %in\(emhave been
extended and integrated.
Consequently, all of local and remote procedure call,
rendezvous, dynamic process creation, asynchronous message passing,
multicast, and semaphores are supported.
We have found this flexibility to be very useful
for distributed programming.
Moreover, by basing SR on a small number of well-integrated
concepts, the language has proved easy to learn and use
and it has a reasonably efficient implementation.
.sp 2
.(l C
February 1986; revised June 1986, July 1987, and October 1987
\fBThis overview does not reflect evolution of SR subsequent to 1987.\fP
.sp 1
Department of Computer Science
The University of Arizona
Tucson, Arizona  85721
.)l
