Abstract
Unlike most other logic programming languages. Concurrent Prolog5) does not include a sequential-AND operator to enforce serial goal (process) reduction. However, sequential process reduction is still possible using existing constructs. In a number of published programming examples it is achieved with the “commit” operator. Such programs may not execute as described, but instead encounter deadlock. In this paper several examples of this are presented, the cause of the problem is diagnosed, and a solution suggested.
This paper also deals with sequential process reduction in more general terms. The methods available to achieve serialization involving commit and read-only variable references are analyzed and compared. The potential for incorporating sequential-AND into the language is also addressed.
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Clark, K. L., McCabe, F. G. and Gregory, S.: “IC-PROLOG Language Features,” in Logic Programming, K. L. Clark and S.-Å. Tärnlund (eds.) (Academic Press, London, England) (1982) 253–266.
Clocksin, W. F. and Mellish, C. S.: “The Unix Prolog System (Version NU7 with Top Level), Software Report,5 (Second Edition) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) (September, 1980).
Dijkstra, E. W.: A Discipline of Programming (Prentice-Hall, Englewood Cliffs, New Jersey) (1976).
Kusalik, A. J.: “Porting Concurrent Prolog” (Computer Science Department, University of British Columbia, Vancouver, B. C., Canada) (January, 1984).
Shapiro, E. Y.: “A Subset of Concurrent Prolog and Its Interpreter,” ICOT Technical Report,TR-003 (Tokyo, Japan) (January, 1983). Also available asCS83-06 (Department of Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel).
Shapiro, E. Y.: “Systems Programming in Concurrent Prolog,” ICOT Technical Report,TR-034 (Tokyo, Japan) (November, 1983).
Shapiro, E. Y. and Takeuchi, A.: “Object Oriented Programming in Concurrent Prolog,” New Generation Computing,1, No. 1 (OHMSHA, LTD. and Springer-Verlag) (1983) 25–48.
Takeuchi, A. and Furukawa, K.: “Interprocess Communication in Concurrent Prolog,” Proceedings Logic Programming Workshop ’83 (Algarve, Portugal) (1983) 171–185. Also as ICOT Technical Report,TR-006 (1983).
Wise, M. J.: “A Parallel Prolog: the Construction of a Data Driven Model,” in Conference Record of the 1982 Symposium on Lisp and Functional Programming (ACM, Pittsburgh, PA) (August, 1982) 56–67.
Author information
Authors and Affiliations
About this article
Cite this article
Kusalik, A.J. Serialization of process reduction in Concurrent Prolog. NGCO 2, 289–298 (1984). https://doi.org/10.1007/BF03037062
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037062