Skip to main content
Log in

Serialization of process reduction in Concurrent Prolog

  • Short Notes
  • Published:
New Generation Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

References

  1. 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.

  2. 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).

    Google Scholar 

  3. Dijkstra, E. W.: A Discipline of Programming (Prentice-Hall, Englewood Cliffs, New Jersey) (1976).

    MATH  Google Scholar 

  4. Kusalik, A. J.: “Porting Concurrent Prolog” (Computer Science Department, University of British Columbia, Vancouver, B. C., Canada) (January, 1984).

    Google Scholar 

  5. 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).

  6. Shapiro, E. Y.: “Systems Programming in Concurrent Prolog,” ICOT Technical Report,TR-034 (Tokyo, Japan) (November, 1983).

  7. 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.

  8. 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).

  9. 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.

Download references

Author information

Authors and Affiliations

Authors

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

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03037062

Keywords

Navigation