1999 · 41 citations · 14 references
ComputingComputer ScienceDatabasesParallel ComputingProgramming LanguagesConcurrency ControlConcurrent ModelingConcurrent ProgrammingData SynchronizationSynchronization PrimitivesThread ProgrammingConcurrency ModelsConcurrency PrimitivesConcurrency SemanticsConcurrent ComputationConcurrent Logic ProgrammingResource Consumption AnalysisSynchronizationSynchronization Semantics
Concurrency in Logic Programming has received much attention in the past. One problem with many proposals, when applied to Prolog, is that they involve large modications to the standard implementations, and/or the communication and synchronization facilities provided do not t as naturally within the language model as we feel is possible. In this paper we propose a new mechanism for implementing synchronization and communication for concurrency, based on atomic accesses to designated facts in the (shared) database. We argue that this model is comparatively easy to implement and harmonizes better than previous proposals within the Prolog control model and standard set of built-ins. We show how in the proposed model it is easy to express classical concurrency algorithms and to subsume other mechanisms such as Linda, variable-based communication, or classical parallelism-oriented primitives. We also report on an implementation of the model and provide performance and resourc...
14
Nicholas Carriero, David Gelernter · Communications of the ACM · 1989 · 1.4K citations · Full text
Principles of concurrent programming
Advances in Engineering Software (1978) · 1983 · 211 citations
Programming paradigms of the Andorra Kernel Language
Sverker Janson, Seif Haridi · 1991 · 114 citations · Full text