Hostname: page-component-586b7cd67f-t8hqh Total loading time: 0 Render date: 2024-11-28T05:12:20.820Z Has data issue: false hasContentIssue false

A Comparative Exploration of Concurrent Logic Languages

Published online by Cambridge University Press:  07 July 2009

G. A. Ringwood
Affiliation:
Department of Computing, Imperial College, LONDON SW7 2BZ, UK

Abstract

The execution model of Prolog, the first popular language based on Horn Clauses, was designed for efficient evaluation on von Neumann architectures. An alternative process model of execution, better suited for parallel evaluation and reactive programming, has given rise to a new class of languages based on Horn Clause logic, concurrent logic languages. There appears to be a profusion of languages which claim to fall into this class and it is difficult for an initiate to appreciate why each is the way it is. One notable member of this class, FGHC, forms the cornerstone of the Japanese 5th Generation Initiative. Fortunately, the seemingly exponential growth in these languages is only an illusion. A finite number of synchronization mechanisms arise from attempting (or sometimes not attempting) to control two principle synchronization difficulties: the premature binding problem and the binding conflict problem. Suitable combinations of these synchronization mechanisms reproduce the languages of this family. A background knowledge of Prolog is assumed and some familiarity with the difficulties encountered in concurrency would be advantageous.

Type
Research Article
Copyright
Copyright © Cambridge University Press 1989

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Burt, A and Ringwood, GA, 1988. “The Binding Conflict Problem in Concurrent Logic Languages” submitted IJPPGoogle Scholar
Brachman, RJ and Levesque, HJ, 1984. “The Tractability of Subsumption in Frame-based Description Languages” In: Proc. National Conf on AI, pp 3437Google Scholar
Carriero, N and Gelerntner, D, 1989. “Linda in ContextCACM 32 pp 444458CrossRefGoogle Scholar
Clark, KL and Gregory, S, 1986. “Parlog: Parallel Programming in LogicACM TOPLAS 8(1) pp 149CrossRefGoogle Scholar
Dikstra, EW, 1976. A Discipline of Programming, New York: Prentice HallGoogle Scholar
Fuchi, K and Furukawa, K, 1986. “The Role of Logic Programming in the Fifth Generation Computer Project, Proc. Third Int. Conf. on Logic Programming, July 14–18, 1986, London: Springer-Verlag, Lecture Notes in Computer Science, pp 124.Google Scholar
Harel, A and Pnueli, A, 1985. “On the Development of Reactive Systems” In: Apt, KR, ed., Logics and models of Concurrent Systems, New York: Springer VerlagGoogle Scholar
Hirata, M, 1985. “Self-description of Oc and its Applications” (in Japanese). Proc 2nd National Conference of Japan Society of Software Science and Technology, pp 153156Google Scholar
Hoare, CAR, 1985. Communicating Sequential Processes, New York: Prentice HallGoogle Scholar
Huntbach, M, 1988. “Parlog as a Language for Artificial Intelligence” TR, Dept Computing, Imperial CollegeGoogle Scholar
Inmos Ltd, 1984. Occam Programming Manual, New York: Prentice HallGoogle Scholar
Lassez, JL, Maher, MJ and Marriott, K, 1988. “Unification Revisited” In Foundations of Deductive Databases and Logic Programming, Palo Alto, Morgan KaufmannGoogle Scholar
Maher, MJ, 1987. “Logic Semantics for a Class of Committed Choice ProgramsIn 4th Int. Conf. on Logic Programming,Cambridge Mass,MIT PressGoogle Scholar
Ringwood, GA, 1987a. “Pattern-Directed, Markovian, Linear Guarded, Definite Clause Resolution” submitted JLP but rejected after the unreasonably long time of 21 months.Google Scholar
Ringwood, GA, 1987b. “Predicates and Pixels” to be published New Generation Computing 7, 1989CrossRefGoogle Scholar
Ringwood, GA, 1988a. “Parlog 86 and the Dining LogiciansCACM 31 pp 1025CrossRefGoogle Scholar
Ringwood, GA, 1988b. “Meta Logic Machines: A Retrospective Rationale for the Japanese Fifth GenerationKnowledge Engineering Review 3, 303320CrossRefGoogle Scholar
Robinson, JA, 1965. “A Machine-oriented Logic Based on the Resolution PrincipleJACM 12 pp 2341CrossRefGoogle Scholar
Saraswat, VA, 1986. “Problems with Concurrent Prolog” Tech Rep 86–100, Carnegie Mellon UniversityGoogle Scholar
Saraswat, VA, 1987a. “The Concurrent Logic Programming Language CP: Definition and Operational Semantics” Proc. of SIGACT-SIGPLAN Symposium on Principles of Programming Languages, New York, ACM, pp. 4963Google Scholar
Saraswat, VA, 1987b. “Merging Many Streams Efficiently: The importance of atomic commitment” In Concurrent Prolog: Collected Papers, MIT, vol. 1, pp. 421445Google Scholar
Saraswat, VA, 1987c. “GHC: Operational Semantics, Problems and Relationship with CP” In IEEE Int. Symp. on Logic Programming, San Francisco, pp. 347358.Google Scholar
Saraswat, VA, 1989. “Concurrent Constraint Programming Languages” PhD thesis, Carnegie-Mellon UniversityCrossRefGoogle Scholar
Shapiro, EY, 1986. “Concurrent Prolog: a Progress ReportIEEE Computer, pp 4458CrossRefGoogle Scholar
Shapiro, EY (ed.), 1987. Concurrent Prolog: Collected Papers, 2 vols, Cambridge Mass, MIT PressGoogle Scholar
Shapiro, EY, 1988. “A Survey of Concurrent Logic Programming Languages”, Weizmann Inst., Israel, in preparationGoogle Scholar
Taylor, S, 1988. PhD Thesis, Weizmann Inst., IsraelGoogle Scholar
Ueda, K, 1986. “Guarded Horn Clauses” DEng thesis, University of TokyoCrossRefGoogle Scholar
Yang, R and Aiso, H, 1986. “P-Prolog, a Parallel Logic Language Based on Exclusive RelationIn Proc. of 3rd Int Logic Prog. Conf. (London, July) New York:Springer-Verlag, pp 255269CrossRefGoogle Scholar
Warren, DHD, 1987. “OR-parallel Execution Models of Prolog” In Tapsoft 87, LNCS 250, New York: Springer-VerlagGoogle Scholar