NHSE LogoNHSE Software Catalog


Proteus interpreter

url
ftp://ftp.cs.unc.edu/pub/projects/proteus/

contact
prins@cs.unc.edu

abstract
By expressing programs using Proteus, an executable high-level
architecture-independent parallel programming notation, users can
develop and evaluate sophisticated parallel algorithms without
concern for low-level architecture-specific details.
Refinement of a Proteus program consists of modification of a program
to reflect restrictions in the use of the concurrency constructs. This
restriction expresses the adaptation of a high-level design to constructs
efficiently supported on a specific architecture.
Programs that are suitably refined in their use of the Proteus notation can
be automatically translated to efficient parallel programs in low-level
architecture-specific notations. These programs can then be run directly
on the targeted parallel machines.
The Proteus execution system consists of the Proteus interpreter,
including run-time monitoring and analysis functions, and
an interface to external modules in the form of existing applications
or those generated by translation of Proteus programs.
The current version of Proteus is a variation of Isetl that supports thread and
data parallelism. Isetl is an interactive implementation of SETL (SETL was
developed at the Courant Institute; See Schwartz, J.T., et al, Programming
with sets: An introduction to SETL, Springer-Verlag, 1986. ) a programming
language built around mathematical notation and objects, primarily sets and
functions. It contains the usual collection of statements common to
procedural languages, but a richer set of expressions.

environment
To gain portability we rely on low-level parallel virtual
machines that are efficiently implemented on classes of parallel
architectures. Currently we only use CVL, but in the future we
will also be using PVM and Mach threads.
Executable versions of the interpreter are available for several machines:
Sparc architectures running SunOS
Macintosh, System 7.1
DecStations running Ultrix
HP 700 series running HPUX
IBM RS/6000 running AIX v3.2
The interpreter sources are also available and can be used to build the
interpreter for machines not listed above.

description
http://www.cs.unc.edu/proteus.html

keywords
data parallelism; task parallelism; parallel progamming language;
architecture independence


nhse-librarian@netlib.org