ADA: Concurrent Programming
Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM - Special section on computer architecture
Implementation of CSP-S for description of distributed algorithms
Computer Languages
Implementation of resilient, atomic data types
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Communicating sequential processes
Communicating sequential processes
Optimistic recovery in distributed systems
ACM Transactions on Computer Systems (TOCS)
Dynamic Configuration for Distributed Systems
IEEE Transactions on Software Engineering
MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
PARLOG: parallel programming in logic
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Communication parallel processes
Software—Practice & Experience
Low cost management of replicated data in fault-tolerant distributed systems
ACM Transactions on Computer Systems (TOCS)
The C++ programming language
Reliable communication in the presence of failures
ACM Transactions on Computer Systems (TOCS)
The C programming language
Multiway merge with constant delay in concurrent Prolog
New Generation Computing
Memory coherence in shared virtual memory systems
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Typestate: A programming language concept for enhancing software reliability
IEEE Transactions on Software Engineering
Distrbution and Abstract Types in Emerald
IEEE Transactions on Software Engineering - Special issue on distributed systems
Language Support for Loosely Coupled Distributed Programs
IEEE Transactions on Software Engineering - Special issue on distributed systems
Delta Prolog: a distributed backtracking extension with events
Proceedings on Third international conference on logic programming
A sequential implementation of Parlog
Proceedings on Third international conference on logic programming
Parallel logic programming languages
Proceedings on Third international conference on logic programming
P-Prolog: a parallel logic programming language based on exclusive relation
Proceedings on Third international conference on logic programming
Compiling OR-parallelism into AND-parallelism
Proceedings on Third international conference on logic programming
Computer
Computer
Concurrent Prolog: A Progress Report
Computer
Computer
Contextually communicating sequential processes: a software engineering environment
Software—Practice & Experience
Software—Practice & Experience
A multi-processor implementation of occam
Software—Practice & Experience
Operating systems: design and implementation
Operating systems: design and implementation
Distributed systems and computer networks
Distributed systems and computer networks
DIB—a distributed implementation of backtracking
ACM Transactions on Programming Languages and Systems (TOPLAS)
Multiprocessor tree-search experiments
Advances in computer chess
Parallel logic programming in PARLOG: the language and its implementation
Parallel logic programming in PARLOG: the language and its implementation
Object structure in the Emerald system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Objects in concurrent logic programming languages
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented concurrent programming ABCL/1
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The design and implementation of Concurrent Smalltalk
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Key Concepts of the INCAS Multicomputer Project
IEEE Transactions on Software Engineering
Parallelism, persistence and meta-cleanliness in the symmetric Lisp interpreter
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
CSM: A Distributed Programming Language
IEEE Transactions on Software Engineering
Joyce—a programming language for distributed systems
Software—Practice & Experience
A parallel implementation of flat concurrent prolog
International Journal of Parallel Programming
Overview of a parallel object-oriented language CLIX
European conference on object-oriented programming on ECOOP '87
Parlog86 and the dining logicians
Communications of the ACM
An object-oriented programming language for developing distributed software
ACM SIGPLAN Notices
Software—Practice & Experience
Alfalfa: distributed graph reduction on a hypercube multiprocessor
Proc. of a workshop on Graph reduction
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
EMERALD: An object-based language for distributed programming
EMERALD: An object-based language for distributed programming
Programming in Occam 2
Parallel programming in a virtual object space
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Mentat: An object-oriented macro data flow system
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
The design and implementation of distributed Smalltalk
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Experience and evolution of concurrent Smalltalk
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Concurrent prolog: collected papers
Concurrent prolog: collected papers
A review of Ada tasking
Environments as first class objects
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
An overview of the SR language and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Distributed programming in Argus
Communications of the ACM
Parallel computation and computers for artificial intelligence
Pascal-FC: a language for teaching concurrent programming
ACM SIGPLAN Notices
Concurrent programming language—LISPTALK
ACM SIGPLAN Notices
A layered method for process and code mapping
New Generation Computing
Matching Language and Hardware for Parallel Computation in the Linda Machine
IEEE Transactions on Computers - Special issue on architectural support for programming languages and operating systems
Concurrent object-oriented programming in Act 1
Object-oriented concurrent programming
Concurrent programming in concurrent Smalltalk
Object-oriented concurrent programming
Orient84/K: an object-oriented concurrent programming language for knowledge representation
Object-oriented concurrent programming
Pool-T: a parallel object-oriented language
Object-oriented concurrent programming
Synchronous operations as first-class values
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
BRAVE—a parallel logic language for artificial intelligence
Future Generation Computer Systems
Rendezvous Facilities: Concurrent C and the Ada Language
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering - Special Issue on Artificial Intelligence in Software Applications
The concurrent C programming language
The concurrent C programming language
Data abstraction mechanisms in SINA/ST
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Using tuple space communication in distributed object-oriented languages
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Applications experience with Linda
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
Experience with Multiple Processor Versions of Concurrent C
IEEE Transactions on Software Engineering
Object mobility in a distributed object-oriented system
Object mobility in a distributed object-oriented system
ACM Transactions on Computer Systems (TOCS)
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
Replicated distributed programs
Proceedings of the tenth ACM symposium on Operating systems principles
An overview of actor languages
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
A comparison of the object-oriented and process paradigms
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
Viewing Ada from a process model perspective
SIGAda '85 Proceedings of the 1985 annual ACM SIGAda international conference on Ada
Experience Using Multiprocessor Systems—A Status Report
ACM Computing Surveys (CSUR)
Data-Driven and Demand-Driven Computer Architecture
ACM Computing Surveys (CSUR)
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
Comments on “Communicating Sequential Processes”
ACM Transactions on Programming Languages and Systems (TOPLAS)
Output Guards and Nondeterminism in “Communicating Sequential Processes”
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Value Transmission Method for Abstract Data Types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Guardians and Actions: Linguistic Support for Robust, Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
A practical tool kit for making portable compilers
Communications of the ACM
Communications of the ACM
High level programming for distributed computing
Communications of the ACM
Communications of the ACM - Special issue on computer architecture
Communications of the ACM
Communicating sequential processes
Communications of the ACM
Distributed processes: a concurrent programming concept
Communications of the ACM
Communications of the ACM
Communications of the ACM
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Static checking of interprocess communication in ECSP
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Atomic data abstractions in a distributed collaborative editing system
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Distributed data structures in Linda
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Para-functional programming: a paradigm for programming multiprocessor systems
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
P-PROLOG: A Parallel Logic Programming Language
P-PROLOG: A Parallel Logic Programming Language
Operating system principles
Grain Size Determination for Parallel Processing
IEEE Software
Programming a Hypercube Multicomputer
IEEE Software
Preserving Abstraction in Concurrent Programming
IEEE Transactions on Software Engineering
The NIL Distributed Systems Programming Language: A Status Report
Seminar on Concurrency, Carnegie-Mellon University
Distributed Systems - Architecture and Implementation, An Advanced Course
Queue-based multi-processing LISP
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Primitives for distributed computing
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
A message system supporting fault tolerance
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Publishing: a reliable broadcast communication mechanism
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
A relational language for parallel programming
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
An analysis of language models for high-performance communication in local-area networks
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
NIL: An integrated language and system for distributed programming
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Gypsy: A language for specification and implementation of verifiable programs
Proceedings of an ACM conference on Language design for reliable software
NESTED TRANSACTIONS: AN APPROACH TO RELIABLE DISTRIBUTED COMPUTING
NESTED TRANSACTIONS: AN APPROACH TO RELIABLE DISTRIBUTED COMPUTING
REPLICATION AND RECONFIGURATION IN A DISTRIBUTED MAIL REPOSITORY
REPLICATION AND RECONFIGURATION IN A DISTRIBUTED MAIL REPOSITORY
A FAULT-TOLERANT NETWORK KERNEL FOR LINDA
A FAULT-TOLERANT NETWORK KERNEL FOR LINDA
Design and implementation of a distributed systems language (crystal, charlotte, lynx, soda)
Design and implementation of a distributed systems language (crystal, charlotte, lynx, soda)
Implementation of tuple space machines
Implementation of tuple space machines
A short introduction to Concurrent Euclid
ACM SIGPLAN Notices
ACM SIGPLAN Notices
Loslan implementation of the AMPL message-passing system
ACM SIGPLAN Notices
ACM SIGPLAN Notices
Preliminary ZENO language description
ACM SIGPLAN Notices
Using BINS for inter-process communication
ACM SIGPLAN Notices
Mindstorms: children, computers, and powerful ideas
Mindstorms: children, computers, and powerful ideas
Occam Programming Manual
Paradigms for process interaction in distributed programs
ACM Computing Surveys (CSUR)
Delirium: an embedding coordination language
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
COCS '91 Proceedings of the conference on Organizational computing systems
An exception handling model for parallel programming and its verification
SIGSOFT '91 Proceedings of the conference on Software for citical systems
Dynamic software replacement model and its Ada implementation
TRI-Ada '91 Proceedings of the conference on TRI-Ada '91: today's accomplishments; tomorrow's expectations
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
Parallel Programming Using Shared Objects and Broadcasting
Computer - Special issue on sharing: high performance at low cost
The parallel C (pC) programming language
IBM Journal of Research and Development
Distributed computing in a NUMP (Non-Uniform Message-Passing) environment
ACM SIGOPS Operating Systems Review
An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Monitors and concurrent Pascal: a personal history
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Semantics for communication primitives in a polymorphic language
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Models of machines and computation for mapping in multicomputers
ACM Computing Surveys (CSUR)
ACM SIGOPS Operating Systems Review
A distributed shared virtual memory for Ada 83 and Ada 9X applications
TRI-Ada '93 Proceedings of the conference on TRI-Ada '93
Process clustering for distributed debugging
PADD '93 Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging
The HetNOS network operating system: a tool for writing distributed applications
ACM SIGOPS Operating Systems Review
Ada-Linda: a powerful paradigm for programming distributed Ada applications
TRI-Ada '94 Proceedings of the conference on TRI-Ada '94
Comparing data synchronization in Ada 9X and Orca
ACM SIGAda Ada Letters
Supporting Fault-Tolerant Parallel Programming in Linda
IEEE Transactions on Parallel and Distributed Systems
Portable run-time support for dynamic object-oriented parallel processing
ACM Transactions on Computer Systems (TOCS)
GNATDIST: a configuration language for distributed Ada 95 applications
Proceedings of the conference on TRI-Ada '96: disciplined software development with Ada
Specification of Realtime Systems Using ASTRAL
IEEE Transactions on Software Engineering
Distributed software engineering
ICSE '94 Proceedings of the 16th international conference on Software engineering
UCL+P—Defining and Implementing Persistent Common Lisp
Lisp and Symbolic Computation
Mobile objects in distributed Oz
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specification of realtime systems using ASTRAL
IEEE Transactions on Software Engineering
Models and languages for parallel computation
ACM Computing Surveys (CSUR)
Anonymous Remote Computing: A Paradigm for Parallel Programming on Interconnected Workstations
IEEE Transactions on Software Engineering
Turning a functional data type into a concurrent programming language
SAC '95 Proceedings of the 1995 ACM symposium on Applied computing
Efficient logic variables for distributed computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type systems for distributed data structures
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Language concepts using dynamic and distributed objects
CSC '91 Proceedings of the 19th annual conference on Computer Science
Automating parallel simulation using parallel time streams
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Programming languages and systems for prototyping concurrent applications
ACM Computing Surveys (CSUR)
Multimethod communication for high-performance metacomputing applications
Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
Synchronous coordination in the μLog coordination model
Proceedings of the 2001 ACM symposium on Applied computing
Orca: a language for distributed programming
ACM SIGPLAN Notices
Software implementation strategies for power-conscious systems
Mobile Networks and Applications
Support for Implementation of Evolutionary Concurrent Systems
International Journal of Parallel Programming
Using the Cowichan Problems to Assess the Usability of Orca
IEEE Parallel & Distributed Technology: Systems & Technology
Approaches for Integrating Task and Data Parallelism
IEEE Concurrency
Multithreading Programs: Guidelines for DCE Applications
IEEE Software
Towards Designing Distributed Systems with ConDIL
EDO '00 Revised Papers from the Second International Workshop on Engineering Distributed Objects
The invention of concurrent programming
The origin of concurrent programming
Formally Specifying and Verifying Real-Time Systems
ICFEM '97 Proceedings of the 1st International Conference on Formal Engineering Methods
A Framework for Heterogeneous Concurrency Control Policies in Distributed Applications
IWSSD '96 Proceedings of the 8th International Workshop on Software Specification and Design
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 1
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 2
Logic programming in the context of multiparadigm programming: the Oz experience
Theory and Practice of Logic Programming
A model for parallel programming over CORBA
Journal of Parallel and Distributed Computing
Monitors and Concurrent Pascal: a personal history
History of programming languages---II
Improving Data Access for Computational Grid Applications
Cluster Computing
Polarized process algebra with reactive composition
Theoretical Computer Science - Formal methods for components and objects
Ambient references: addressing objects in mobile networks
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Concert/C: a language for distributed programming
WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
DP: a library for building portable, reliable distributed applications
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
Phantom: an interpreted language for distributed programming
COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
A type system for the automatic distribution of higher-order synchronous dataflow programs
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
Proceedings of the 2nd International Conference on Interaction Sciences: Information Technology, Culture and Human
Models and tools for managing development processes
Models and tools for managing development processes
Objective coordination in multi-agent system engineering: design and implementation
Objective coordination in multi-agent system engineering: design and implementation
Agent-oriented programming: from prolog to guarded definite clauses
Agent-oriented programming: from prolog to guarded definite clauses
CrowdForge: crowdsourcing complex work
Proceedings of the 24th annual ACM symposium on User interface software and technology
Programming paradigms for networked sensing: a distributed systems’ perspective
IWDC'05 Proceedings of the 7th international conference on Distributed Computing
An hybrid model for very high level threads
Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores
Inter-entry selection: Non-determinism and explicit control mechanisms
Computer Languages
Concurrency and backtracking in Vienna Parallel Logic
Computer Languages
A declarative coordination language
Computer Languages
DRL: A distributed real-time logic language
Computer Languages
Finding, expressing and managing parallelism in programs executed on clusters of workstations
Computer Communications
The diameter of a random subgraph of the hypercube
Random Structures & Algorithms
CUDASA: compute unified device and systems architecture
EG PGV'08 Proceedings of the 8th Eurographics conference on Parallel Graphics and Visualization
A survey of support for structured communication in concurrency control models
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
When distributed systems first appeared, they were programmed in traditional sequential languages, usually with the addition of a few library procedures for sending and receiving messages. As distributed applications became more commonplace and more sophisticated, this ad hoc approach became less satisfactory. Researchers all over the world began designing new programming languages specifically for implementing distributed applications. These languages and their history, their underlying principles, their design, and their use are the subject of this paper.We begin by giving our view of what a distributed system is, illustrating with examples to avoid confusion on this important and controversial point. We then describe the three main characteristics that distinguish distributed programming languages from traditional sequential languages, namely, how they deal with parallelism, communication, and partial failures. Finally, we discuss 15 representative distributed languages to give the flavor of each. These examples include languages based on message passing, rendezvous, remote procedure call, objects, and atomic transactions, as well as functional languages, logic languages, and distributed data structure languages. The paper concludes with a comprehensive bibliography listing over 200 papers on nearly 100 distributed programming languages.