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.
Similar content being viewed by others
References
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.
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.
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.
Clark, K. L. and Gregory, S., “Notes on the implementation of PARLOG,”J. Logic Programming, Vol. 2, No. 1, pp. 17–42, 1985.
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.
Crammond, J. A., “An execution model for committed-choice non-deterministic languages,”Proc. of 1986 IEEE Symp. on Logic Programming, pp. 148–158, 1986.
Crammond, J. A., “Parallel implementation of committed-choice languages,”Ph. D Thesis, Heriot-Watt University, Edinburgh, 1988.
Foster, I. T., “The PARLOG Programming System: reference manual,”Unpublished report, Dept. of Computing, Imperial College, London, 1986.
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.
Foster, I. T., “PARLOG as a systems programming language,”Ph. D Thesis, Imperial College, London, 1988.
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.
Foster, I. T. and Taylor, S., “Flat PARLOG: a basis for comparison,”International Journal of Parallel Programming,Vol. 16,No. 2, 1988.
Gregory, S., “How to use PARLOG,”Unpublished report, Dept. of Computing, Imperial College, London, 1984.
Gregory, S.,Parallel Logic Programming in PARLOG, Mass., Addison-Wesley, 1987.
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.
Houri, A. and Shapiro, E. Y., “A sequential abstract machine for Flat Concurrent Prolog,”Technical Report, CS86-20, Weizmann Institute, Rehovot, 1986.
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.
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.
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.
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.
McCabe, F. G., “Abstract Prolog Machine —a specification,”Research Report DOC 83/12 Dept. of Computing, Imperial College, London, 1984.
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.
Morris, F. L., “A time- and space-efficient garbage compaction algorithm,Comm. ACM,Vol. 21,No. 8, 1978.
Ringwood, G. A., “The dining logicians,”MSc Thesis, Dept. of Computing, Imperial College, London, 1984.
Ringwood, G. A., “PARLOG86 and the dining logicians,”Comm. ACM, Vol. 31, No. 1, pp. 10–25, 1988.
Shapiro, E. Y., “A subset of Concurrent Prolog and its interpreter,”Technical Report, TR-003, ICOT, Tokyo, 1983.
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.
Shapiro, E. Y., “Concurrent Prolog: a progress report,”IEEE Computer, Vol. 19, No. 8, pp. 44–58, 1986.
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.
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.
Ueda, K., “Guarded Horn Clauses,”Technical Report, TR-103, ICOT, Tokyo, 1985.
Ueda, K., “Guarded Horn Clauses,”Eng. D Thesis, University of Tokyo, to be published by MIT Press, 1986.
Warren, D. H. D., “An abstract Prolog instruction set,”Technical Note, 309, SRI Intermational, Menlo Park, California, 1983.
Author information
Authors and Affiliations
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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037448