APICe » Publications » The Concurrent Language, Shared Prolog

The Concurrent Language, Shared Prolog

Antonio Brogi, Paolo Ciancarini
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.
ACM Transactions on Programming Languages and Systems 13(1), pages 99-123, January 1991, ACM
@article{sharedprolog-toplas13,
	Author = {Brogi, Antonio and Ciancarini, Paolo},
	Doi = {10.1145/114005.102807},
	Issn = {0164-0925},
	Journal = {ACM Transactions on Programming Languages and Systems},
	Month = jan,
	Number = 1,
	Pages = {99--123},
	Publisher = {ACM},
	Title = {The Concurrent Language, {S}hared {P}rolog},
	Volume = 13,
	Year = 1991}