ACM Transactions on Programming Languages and Systems · 1991 · 133 citations · 17 references
Concurrent LanguageEngineeringBlackboard ModelAutomated ReasoningProgram AnalysisConcurrent ProgrammingConcurrency TheoryFormal MethodsConcurrency (Computer Science)Parallel ProgrammingComputer ScienceConcurrent SystemSemanticsFormal VerificationLogic ProgrammingShared Prolog SystemShared Prolog
Shared Prolog is a new concurrent logic language. A Shared Prolog system is composed of a set of parallel agents that are Prolog programs extended by a guard mechanism. The programmer controls the granularity of parallelism, coordinating communication and synchronization of the agents via a centralized data structure. The communication mechanism is inherited from the blackboard model of problem solving. Intuitively, the granularity of the logic processes to be elaborated in parallel is large, while the resources shared on the blackboard can be very fined grained. An operational semantics for Shared Prolog is given in terms of a distributed model. Through an abstract notion of computation, the kinds of parallelism supported by the language, as well as properties of infinite computations, such as local deadlocks, are studied. The expressiveness of the language is shown with respect to the specification of two classes of applications: metaprogramming and blackboard systems.
17
Communicating sequential processes
Roger Boyle · Data Processing · 1985 · 2K citations
Nicholas Carriero, David Gelernter · Communications of the ACM · 1989 · 1.4K citations · Full text
The blackboard model of problem solving
Penny Nii · AI Magazine · 1986 · 539 citations
Artificial Intelligence, Blackboard Systems, Engineering +17