Runs on
shared-memory processors, e.g., Sequent Symmetry (Dynix 3.2), SGI, Sun
distributed memory, e.g., LAN cluster of workstations, IBM SP2, Intel Paragon (OSF/1)
Available for free via anonymous ftp
README file:SR is described in The SR Programming Language: Concurrency in Practice, by Gregory R. Andrews and Ronald A. Olsson (Benjamin/Cummings, 1993, ISBN 0-8053-0088-0).
An SR program runs on one or more networked machines of the same architecture. True multiprocessing is supported on Silicon Graphics, Intel Paragon, and Sequent Symmetry systems, and on Sun systems running Solaris 2.3. Multiprocessing is simulated on other platforms, which include SunOS 4.x, HP RISC, DEC Alpha and Ultrix, IBM AIX, and Linux. To allow additional hands-on experience, three preprocessors convert notations for CCRs, monitors, and CSP into SR code. The latest implementation of SR is version 2.3, released in October, 1994.
Can be used for
parallel processing: multiple threads in shared memory, master/worker on a cluster
History of my book
Operating Systems Programming: The SR Programming Language, Oxford University Press, 1995, 236 pages, ISBN 0-19-5095790, MSLP $25. A laboratory manual for operating systems and concurrent programming classes.
Features of the SR language
data encapsulation (objects) in a `resource'
multiple processes (threads) in a `process'
counting semaphores, send/receive, Ada rendezvous, monitors (using a preprocessor)
Unfortunately not used in the ``real world'' (industry) that I know
Algorithm animation software that can be used with SR (and any other programming language)
Available for free via anonymous ftp
XTANGO_DESC file:The basic process of animation consists of implementing the algorithm in C (another language can be used, but it must just produce a trace file which is read by a C program driver) and then deciding on the important events to be portrayed during the execution of the algorithm. These events then activate animation routines implemented in a separate file using the XTANGO animation package to create and manipulate objects (circles, squares, lines, and so on). Transitions on objects include movement, color change, resizing, and filling, as well as others. For example, the animation for binary search consists of a series of rectangles, each representing one of the elements being searched. A bouncing circle hits the current dividing element, which changes color. The ball then bounces to the next dividing element and continues to do this until the desired element has been found. To learn more about XTANGO, see the September 1990 issue of IEEE Computer which has an article about the TANGO system, an ancestor of XTANGO.
This distribution now also includes a front-end to XTango, kind of an animation interpreter. It reads a simple ascii command file or stdin and it displays the corresponding animation.
XTANGO is implemented on top of UNIX and the X11 Window System. It can be run on either color or black-and-white monitors.... The distribution includes source, documentation, and a directory of over 60 sample animations. Over 1500 sites have retrieved the system since it was set out for anonymous ftp in early 1991. To be put on a mailing list about the system, to suggest new algorithms to be animated, or to just ask questions about XTANGO, please direct correspondence to John Stasko.
This work is supported by the National Science Foundation, Division of Undergraduate Education, Course and Curriculum Development Program, DUE-9455307.
© 1995 Stephen J. Hartley