Skip to main content
Log in

An abstract machine for the implementation of PARLOG on uniprocessors

  • Regular Papers
  • Published:
New Generation Computing Aims and scope Submit manuscript

Abstract

An abstract machine that supports the parallel logic programming language PARLOG is presented. This abstract machine is designed for the efficient execution of PARLOG on conventional uniprocessors and is thus named the Sequential PARLOG Machine (SPM). The machine’s architecture and instruction set are described and the principles of compilation of PARLOG programs to sequences of abstract machine instructions explained. The machine supports systems programming in PARLOG and in particular PARLOG’s powerful control metacall, which permits programs to initiate, monitor and control subcomputations.

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.

Similar content being viewed by others

References

  1. Armstrong, J. L., Elshiewy, N. A. and Virding, R., “The phoning philosophers problem,”Proc. of 1986 IEEE Symp. on Logic Programming, pp. 28–33, 1986.

  2. Clark, K. L. and Gregory, S., “A relational language for parallel programming,”Proc. of the 1981 Conf. on Functional Programming Languages and Computer Architectures (Portsmouth, N. H., October), (Arvind and J. Dennis, eds.), New York, ACM, pp. 171–178, 1981.

    Chapter  Google Scholar 

  3. Clark, K. L. and Gregory, S., “Notes on systems programming in PARLOG,”Proc. of the International Conf. on Fifth Generation Computer Systems (Tokyo, November), (H. Aiso, ed.), Amsterdam, Elsevier/North-Holland, pp. 299–306, 1984.

    Google Scholar 

  4. Clark, K. L. and Gregory, S., “Notes on the implementation of PARLOG,”J. Logic Programming, Vol. 2, No. 1, pp. 17–42, 1985.

    Article  MATH  Google Scholar 

  5. Clark, K. L. and Gregory, S., “PARLOG: parallel programming in logic,”ACM Trans. on Programming Languages and Systems, Vol. 8, No. 1, pp. 1–49, 1986.

    Article  MATH  Google Scholar 

  6. Crammond, J. A., “An execution model for committed-choice non-deterministic languages,”Proc. of 1986 IEEE Symp. on Logic Programming, pp. 148–158, 1986.

  7. Crammond, J. A., “Parallel implementation of committed-choice languages,”Ph. D Thesis, Heriot-Watt University, Edinburgh, 1988.

    Google Scholar 

  8. Foster, I. T., “The PARLOG Programming System: reference manual,”Unpublished report, Dept. of Computing, Imperial College, London, 1986.

    Google Scholar 

  9. Foster, I. T., “Logic operating systems: design issues,”Proc. of the 4th International Logic Programming Conf. (Melbourne, May), (J. L. Lassez, ed.), Cambridge, Mass., MIT Press, pp. 910–926, 1987.

    Google Scholar 

  10. Foster, I. T., “PARLOG as a systems programming language,”Ph. D Thesis, Imperial College, London, 1988.

    Google Scholar 

  11. Foster, I. T., Gregory, S., Ringwood, G. A. and Satoh, K., “A sequential implementation of PARLOG,”Proc. of the 3rd International Logic Programming Conf. (London, July), (E. Shapiro, ed.), New York, Springer-Verlag, pp. 149–156, 1986.

    Google Scholar 

  12. Foster, I. T. and Taylor, S., “Flat PARLOG: a basis for comparison,”International Journal of Parallel Programming,Vol. 16,No. 2, 1988.

  13. Gregory, S., “How to use PARLOG,”Unpublished report, Dept. of Computing, Imperial College, London, 1984.

    Google Scholar 

  14. Gregory, S.,Parallel Logic Programming in PARLOG, Mass., Addison-Wesley, 1987.

    Google Scholar 

  15. Gregory, S., Neely, R. and Ringwood, G. A., “PARLOG for specification, verification and simulation,”Proc. of the 7th International Symp. on Computer Hardware Description Languages and their Applications (Tokyo, August), (C. J. Koomen and T. Moto-oka, eds.), Amsterdam, Elsevier/North-Holland, pp. 139–148, 1985.

    Google Scholar 

  16. Houri, A. and Shapiro, E. Y., “A sequential abstract machine for Flat Concurrent Prolog,”Technical Report, CS86-20, Weizmann Institute, Rehovot, 1986.

    Google Scholar 

  17. Kimura, Y. and Chikayama, T., “An abstract KL1 machine and its instruction set,”Proc. of the 1987 IEEE Symp. on Logic Programming (San Francisco, August), pp. 468–477, 1987.

  18. Kursawe, P., “How to invent a Prolog machine.,”Proc of the 3rd International Logic Programming Conf. (London, July), (E. Shapiro, ed.), New York, Springer-Verlag, pp. 134–148, 1986.

    Google Scholar 

  19. Lam, M. and Gregory, S., “PARLOG and ALICE: a marriage of convenience,”Proc. of the 4th International Logic Programming Conf. (Melbourne, May), (J. L. Lassez, ed.), Cambridge, Mass., MIT Press, pp. 294–310, 1987.

    Google Scholar 

  20. Matsumoto, Y., “A parallel parsing system for natural language analysis,”Proc. of the 3rd International Logic Programming Conf. (London, July), (E. Shapiro, ed.), New York, Springer-Verlag, pp. 396–409, 1986.

    Google Scholar 

  21. McCabe, F. G., “Abstract Prolog Machine —a specification,”Research Report DOC 83/12 Dept. of Computing, Imperial College, London, 1984.

    Google Scholar 

  22. Mierowsky, C., Taylor, S., Shapiro, E., Levy, J. and Safra, M., “The design and implementation of Flat Concurrent Prolog,”Technical Report, CS85-09, Weizmann Institute, Rehovot, 1985.

    Google Scholar 

  23. Morris, F. L., “A time- and space-efficient garbage compaction algorithm,Comm. ACM,Vol. 21,No. 8, 1978.

  24. Ringwood, G. A., “The dining logicians,”MSc Thesis, Dept. of Computing, Imperial College, London, 1984.

    Google Scholar 

  25. Ringwood, G. A., “PARLOG86 and the dining logicians,”Comm. ACM, Vol. 31, No. 1, pp. 10–25, 1988.

    Article  Google Scholar 

  26. Shapiro, E. Y., “A subset of Concurrent Prolog and its interpreter,”Technical Report, TR-003, ICOT, Tokyo, 1983.

    Google Scholar 

  27. Shapiro, E. Y., “Systems programming in Concurrent Prolog,”Proc. of the 11th Symp. on Principles of Programming Languages (Salt Lake City, Utah, January), New York, ACM, pp. 93–105, 1984.

    Google Scholar 

  28. Shapiro, E. Y., “Concurrent Prolog: a progress report,”IEEE Computer, Vol. 19, No. 8, pp. 44–58, 1986.

    Google Scholar 

  29. Silverman, W., Hirsch, M., Houri, A. and Shapiro, E. Y., “The Logix user manual, version 1. 21,”Technical Report CS86-21, Weizmann Institute, Rehovot, 1986.

    Google Scholar 

  30. Takeuchi, A. and Furukawa, K., “Parallel logic programming languages,”Proc. of the 3rd International Logic Programming Conf. (London, July), (E. Shapiro, ed.), New York, Springer-Verlag, pp. 242–254, 1986.

    Google Scholar 

  31. Ueda, K., “Guarded Horn Clauses,”Technical Report, TR-103, ICOT, Tokyo, 1985.

    Google Scholar 

  32. Ueda, K., “Guarded Horn Clauses,”Eng. D Thesis, University of Tokyo, to be published by MIT Press, 1986.

  33. Warren, D. H. D., “An abstract Prolog instruction set,”Technical Note, 309, SRI Intermational, Menlo Park, California, 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

About this article

Cite this article

Gregory, S., Foster, I.T., Burt, A.D. et al. An abstract machine for the implementation of PARLOG on uniprocessors. New Gener Comput 6, 389–420 (1989). https://doi.org/10.1007/BF03037448

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Keywords

Navigation