[comp.parallel] Languages Survey Bibliography

JIM@ucf1vm.cc.ucf.edu (Jim Ennis) (08/27/90)

Hello,

  I am going a survey of Parallel Programming Languages as a project this
semester and I would like to know which journals or periodicals would
be the best ones to refer to.  I know about SIGPLAN, are there any other
sources of information that people can recommend.

Thanks,
Jim Ennis
University of Central Florida
JIM@UCF1VM.CC.UCF.EDU

kwan@ics.uci.edu (Andrew Kwan) (08/30/90)

In article <10226@hubcap.clemson.edu> JIM@ucf1vm.cc.ucf.edu (Jim Ennis) writes:
>Hello,
>
>  I am going a survey of Parallel Programming Languages as a project this
>semester and I would like to know which journals or periodicals would
>be the best ones to refer to.  I know about SIGPLAN, are there any other
>sources of information that people can recommend.


A survey of parallel programming languages was published recently (I
think within the past year) in ACM Computing Surveys.

eugene@wilbur.nas.nasa.gov (Eugene N. Miya) (08/31/90)

Did not see the first request.
--eugene

%A Henri E. Bal
%A Jennifer G. Steiner
%A Andrew S. Tanenbaum
%T Programming Languages for Distributed Computing Systems
%J ACM Computing Surveys
%V 21
%N 3
%D September 1989
%P 261-322
%K special issue on programming language paradigms,
%K Categories and Subject Descriptors:
C.2.4 [Computer-Communications Networks]:
Distributed Systems - distributed applications;
D.1.3 [Programming Techniques]: Concurrent Programming;
D.3.3 [Programming Languages]:
Language constructs - concurrent programming structures;
D.4.7 [Operating Systems]: Organization and Design - distributed systems
General Terms: Languages, Design
Additional Key Words and Phrases: Distributed data structures,
distributed languages, distributed programming,
functional programming, languages for distributed programming,
languages for parallel programming, logic programming,
object-oriented programming, parallel programming,
%X Not a great survey, but a good one.  It does not mention issues closer
to what people think as operating system issues.  But, it represents a
good reference point with all these languages [a few of which I've
never heard]:
ABCL/1, Act 1, Ada, Aeolus, ALPS, AMPL, Argus, Avalon, Blaze, BNR Pascal,
BRAVE, Camelot Library, Cantor, [Concurrent CSP] CCSP, [Xerox] Cedar,
CLIX, Cluster 86, CMAY, Concurrent C [2], Concurrent CLU, Concurrent LISP,
Concurrent PROLOG, Concurrent Smalltalk, CONIC, CSM, CSP-S, CSP/80,
CSP, CSPS, CSSA, Delta PROLOG, Dislang, Distributed Smalltalk,
DP, DPL-82, ECSP, Emerald, EPL, FRANK, FX-87, GDPL, GHC, GYPSY, Hybrid,
Joyce, LADY, LIMP, Linda, Lisptalk, LYNX, MC, Mandala, Mentat, MENYMA/S,
Multilisp, NIL, Oc, Occam, OIL, Ondine, Orca, Orient84/K, P*, P-PROLOG,
ParAlfl, PARLOG, ParMod, Pascal+CSP, Pascal-FC, Pascal-m, PCL,
Planet, Platon, PLITS, PML, POOL, Port Language, Pronet, Quty, QLISP,
Raddle, RBCSP, Relational Language, SDL, SINA, Sloop, SR, StarMod,
Symmetric LISP, Vulcan, ZENO.
It still lacks, but it depends on the definition of a distributed language.
No mention of atomicity.

%A Nicholas Carriero
%A David Gelernter
%T How to Write Parallel Programs: A Guide to the Perplexed
%J ACM Computing Surveys
%V 21
%N 3
%D September 1989
%P 323-357
%K special issue on programming language paradigms,
%K Categories and Subject Descriptors:
D.1.3 [Programming Techniques]: Concurrent Programming;
D.3.2 [Programming Languages]: Language classifications -
parallel languages; D.3.3 [Programming Languages]:
Language constructs - concurrent programming structures;
E.1.m [Data Structures]: Miscellaneous -
distributed data structures; live data structures;
General Terms: Algorithms, Program Design, Languages,
Additional Key Words and Phrases: Linda,
parallel programming methodology, parallelism,
%X From page: 326:
It is nonetheless a subtle but essential point that these approaches
represent three clearly separate ways of thinking about the problem:
Result parallelism focuses on the shape of the finished product;
specialist parallelism focuses on the makeup of the work crew; and
agenda parallelism focuses on the list of tasks to be performed.
Also the terms: message-passing, distributed data structures or
live data structures.  Notes that it does not deal with data parallelism
(ala CM) nor speculative parallelism (OR-parallelism).  Tries to be
practical, but it does admit distributed programs are harder and more
complex.

%A Paul Hudak
%Z Yale
%T Conception, Evolution, and Application of Functional
Programming Languages
%J ACM Computing Surveys
%V 21
%N 3
%D September 1989
%P 359-411
%K special issue on programming language paradigms,
%K Categories and Subject Descriptors:
D.1.1 [Programming Techniques]:
Applicative (Functional) Programming;
D.3.2 [Programming Languages]: Language classifications -
applicative languages; data-flow languages;
non-procedural languages; very-high-level languages;
F.4.1 [Mathematical Logic and Formal Languages]:
Mathematical Logic - lambda calculus and related systems;
K.2 [History of Computing]: software
General Terms: Languages,
Additional Key Words and Phrases: Data abstraction,
higher-order functions, lazy evaluation, referential transparency,
types, Lambda Calculus, Lisp, Iswim, APL, FP, FL, ML, SASL, KRC, Miranda,
Haskell, Hope, denotative [declarative] language,
%X This is the second paper in the special issue which has a section on
non-determinism [along with Bal, et al] which begins with a statement
which would sound bizarre to non-programmers or those not familiar
with the issues of determinacy.

%A Ehud Shapiro
%Z Weizmann Inst.
%T The Family of Concurrent Logic Programming Languages
%J ACM Computing Surveys
%V 21
%N 3
%D September 1989
%P 413-510
%K special issue on programming language paradigms,
%K Categories and Subject Descriptors:
D.1.3 [Programming Techniques]: Concurrent Programming;
D.3.3 [Programming Languages]: Language classification -
ALPS, Concurrent Prolog, Doc, FCP, guarded Horn Clauses, P-prolog,
PARLOG; D.3.3 [Programming Languages]: Language Constructs -
concurrent programming structures; D.4.1 [Operating Systems]:
Process management - concurrency, mutual exclusion,
synchronization; F.1.2 [Computation by Abstract Devices]:
Modes of Computation - parallelism;
F.3.2 [Logics and Meanings of Programs]:
Semantics of Programming Languages - operational semantics;
F.4.1 [Mathematical Logic and Formal Languages]:
Mathematical Logic - logic programming;
General Terms: Languages,
Additional Key Words and Phrases: Atomic unification,
computational replay, distributed detection, incomplete messages,
indeterminism, input matching, language embedding, logic variable,
metainterpretation, process structures, short-circuit, snapshots,
streams, transformational  vs. reactive languages,
don't-know and don't-care [latter called indeterminism] non-determinism,
%X One of the best subsections and a reference [paper] is entitled
"X = X Considered Harmful" from a Japanese paper not likely to be
seen by many in the West [for the Doc, distributed Oc, language].
Almost as good as Backus' von Neumann liberation Turing lecture (1978).
Programming language types will understand the title.

%A Charles E. McDowell
%A David P. Helmbold
%Z UC Santa Cruz
%T Debugging Concurrent Programs
%J ACM Computing Surveys
%V 21
%N 4
%D December 1989
%P 593-622
%K Categories and Subject Descriptors:
A.1 [General Literature]: Introductory and Survey;
D.1.3 [Programming Techniques]: Concurrent Programming;
D.2.4 [Software Engineering]: Program Verification --assertion checkers,
D.2.5 [Software Engineering]: Testing and Debugging -- debugging aids,
diagnostics, monitors, symbolic execution, tracing
Additional Key Words and Phrases: Distributed computing, event history,
nondeterminism, parallel processing, probe-effect, program replay,
program visualization, static analysis,
Agora, Amoeba, belvedere, BUGNET, CBUG, cdbg, dbxtool, defence, DISDEB,
EDL, HARD, IDD, Instant, Jade, MAD, Meglos, mtdbx, Multibug, Parasight,
pdbx, Pilgram, PPD, RADAR, Recap, Traveler, TSL, Voyeur, YODA,
%X Good tables surveying the field in the Appendix.  Thanks Charlie.