Skip to main content

Message-brokers and communicating prolog processes

  • Conference paper
  • First Online:
PARLE '92 Parallel Architectures and Languages Europe (PARLE 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 605))

Abstract

A novel interprocess communication paradigm based on message-passing, message-brokers, is described, together with the small number of primitives that support message-brokered communication between formally defined Prolog processes. Message-brokers combine the addressing flexibility (mobility) of mailboxes with the synchronization facilities of synchronous communication models, such as CSP. Message-brokers are first class Prolog objects. In particular, transmission of message-brokers and their subsequent use in processes where they were not previous found has the effect of dynamically altering the pattern of interconnections between communicating processes. The model directly supports non-deterministic interactions between multiple client and server processes, e.g. as may occur in multi-agent planning. This new form of parallel Prolog is principally intended for closely-coupled distributed architectures.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. Ali, K. A. M. and R. Karlsson, “The Muse Or-Parallel Prolog Model and its Performance”, North American Conference on Logic Programming 1990, Austin, ed. M. Hermenegildo, pp. 747–768, MIT Press (October 1990).

    Google Scholar 

  2. Bach, Maurice J., The Design of the UNIX Operating System, Prentice Hall (1986).

    Google Scholar 

  3. Bal, Henri E., Jennifer G. Steiner and Andrew S. Tanenbaum, “Programming Languages for Distributed Computing Systems”, ACM Computing Surveys 21(3), pp. 261–322 (September, 1989).

    Article  Google Scholar 

  4. Baron, Uri C., Andy B. Cheese and Michael J. Ratcliffe, “Parallel Logic Programming Languages: The State of the Art”, CA-45, ECRC (European Computer-Industry Research Centre) (April 1989).

    Google Scholar 

  5. Buhr, Peter A. and Richard, A. Stroobosscher, “The μSystem: Providing Light-weight Concurrency on Shared-memory Multiprocessor Computers Running UNIX”, Software-Practice and Experience 20(9), pp. 929–963 (September 1990).

    Google Scholar 

  6. Carriero, Nicholas and David Gelernter, “Linda in Context”, Communications of the ACM 32(4), pp. 444–458 (April 1989).

    Article  Google Scholar 

  7. Conery, John S. and Dennis F. Kibler, “Parallel Interpretation of Logic Programs”, 1981 Conference on Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, USA, pp. 163–70, ACM (October 18–22, 1981).

    Google Scholar 

  8. Conery, John S., Parallel Execution of Logic Programs, Kluwer Academic Publishers (1987).

    Google Scholar 

  9. Cunha, Jose C., Maria C. Ferreira and Luis Moniz Pereira, “Programming in Delta Prolog”, Sixth International Conference on Logic Programming, Lisbon, Portugal, pp. 487–502 (19–23 June, 1989) (MIT Press).

    Google Scholar 

  10. Delgado-Rannauro, Sergio A., “Computational Models of Parallel Logic Languages”, CA-46, ECRC (European Computer-Industry Research Centre) (May 1989).

    Google Scholar 

  11. Disz, Terry, Ewing Lusk and Ross Overbeek, “Experiments with OR-Parallel Logic Programs”, Logic Programming: Proceedings of the Fourth International Conference, ed. Jean-Louis Lassez, pp. 576–600, MIT Press (1987) (Melbourne, Australia, May 25–29, 1987).

    Google Scholar 

  12. Fagin, Barry S. and Alvin M. Despain, “The Performance of Parallel Prolog Programs”, IEEE Transactions on Computers 39(12), pp. 1434–1445 (December 1990).

    Article  Google Scholar 

  13. Foster, Ian and Stephen Taylor, “Strand: A Practical Parallel Programming Tool”, North American Conference on Logic Programming 1989, Cleveland, Ohio, pp. 497–512 (October 16–20, 1989) (MIT Press).

    Google Scholar 

  14. Futó, Iván and Peter Kacsuk, “CS-Prolog on Multitransputer Systems”, Microprocessors and Microsystems 13(2), pp. 103–12 (March 1989).

    Article  Google Scholar 

  15. Gray, Jim, “The Cost of Messages”, Seventh Annual Symposium on Principles of Distributed Computing, Toronto, Ontario, Canada, pp. 1–7 (August 15–17, 1988).

    Google Scholar 

  16. Gregory, Steve, Parallel Logic Programming in PARLOG, Addison-Wesley (1987).

    Google Scholar 

  17. Haridi, Seif and Sverker Janson, “Kernel Andorra Prolog and its Computational Model”, Seventh International Conference on Logic Programming, Jerusalem, Israel, pp. 31–46 (18–20 June, 1990).

    Google Scholar 

  18. Hermenegildo, M. V., “An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs”, Third International Conference on Logic Programming, London, U.K, pp. 25–39 (14–18 July, 1986).

    Google Scholar 

  19. Ichiyoshi, N., T. Miyazaki and K. Taki, “A Distributed Implementation of Flat GHC on the Multi-PSI”, Logic Programming: Proceedings of the Fourth International Conference, ed. Jean-Louis Lassez, pp. 257–75, MIT Press (1987) (Melbourne, Australia, May 25–29, 1987).

    Google Scholar 

  20. Kacsuk, Peter and Michael J. Wise, Distributed Prolog, John Wiley (1992).

    Google Scholar 

  21. Kale, L. V., “The REDUCE-OR Process Model for Parallel Evaluation of Logic Programs”, Logic Programming: Proceedings of the Fourth International Conference, ed. Jean-Louis Lassez, pp. 616–632, MIT Press (1987) (Melbourne, Australia, May 25–29, 1987).

    Google Scholar 

  22. Lusk, Ewing, David H. D. Warren, Seif Haridi and others, “The Aurora OR-Parallel Prolog System”, International Conference on Fifth Generation Computer Systems, Tokyo, Japan, pp. 819–30 (1988).

    Google Scholar 

  23. Milner, Robin, Joachim Parrow and David Walker, “A Calculus of Mobile Processes, Part I”, Journal of Information and Computation (1991) (To appear).

    Google Scholar 

  24. Milner, Robin, Joachim Parrow and David Walker, “A Calculus of Mobile Processes, Part II”, Journal of Information and Computation (1991) (To appear).

    Google Scholar 

  25. Quintus Computer Systems Inc, “Quintus Prolog Multiprocessing Package”, Manual for Version 1.0, Quintus Computer Systems Inc (June 1989).

    Google Scholar 

  26. Reynolds, T. J., A. J. Beaumont, A. S. K. Cheng, S. A. Delgado-Rannauro and L. A. Spacek, “BRAVE-A Parallel Logic Language for Artificial Intelligence”, Future Generations Computer Systems 4, pp. 69–75 (1988).

    Article  Google Scholar 

  27. Ringwood, G. A., “PARLOG86 and the Dining Logicians”, Communications of the ACM 31(1), pp. 10–25 (January 1988).

    Article  Google Scholar 

  28. Shapiro, Ehud, “Concurrent Prolog: A Progress Report”, Fundamentals of Artificial Intelligence, ed. W. Bibel and Ph. Jorrand, pp. 277–313, Springer-Verlag (1987).

    Google Scholar 

  29. Shapiro, Ehud, “The Family of Concurrent Logic Programming Languages”, Computing Surveys 21(3), pp. 412–510 (September 1989).

    Article  Google Scholar 

  30. Shizgal, I., “The Amoeba-Prolog System”, The Computer Journal 33(6), pp. 508–517 (1990).

    Article  Google Scholar 

  31. Sutcliffe, Geoff and James Pinakis, “Prolog-Linda: An Embedding of Linda in muProlog”, 4th Australian Joint Conference on Artificial Intelligence (AI'90), Perth, Western Australia, pp. 331–340 (November 21–23, 1990) (Published by World Scientific).

    Google Scholar 

  32. Szeredi, Peter, “Performance Analysis of the Aurora Or-Parallel Prolog System”, North American Conference on Logic Programming, Cleveland, Ohio, pp. 713–733 (16–20 October, 1989).

    Google Scholar 

  33. Taylor, Stephen, Shmuel Safra and Ehud Shapiro, “A Parallel Implementation of Flat Concurrent Prolog”, International Journal of Parallel Programming 15(3), pp. 245–75 (June 1986).

    Article  Google Scholar 

  34. Ueda, Kazunori, “Guarded Horn Clauses”, Logic Programming '85 (4th Japanese Conference on Logic Programming), Tokyo, Japan, pp. 168–179 (July 1–3, 1985) (Springer-Verlag, 1986-LNCS 221).

    Google Scholar 

  35. Westphal, Harald, Philippe Robert, Jacques Chassin and Jean-Claude Syre, “The PEPSys Model: Combining Backtracking, AND-and OR-parallelism”, 1987 Symposium on Logic Programming, San Francisco, U.S.A., pp. 436–48 (August 31–September 4, 1987).

    Google Scholar 

  36. Wise, Michael J., Prolog Multiprocessors, Prentice-Hall (Australia) (December 1986) (Japanese translation published by Keigaku Publishing Co, Tokyo, 1989).

    Google Scholar 

  37. Wise, Michael J., “Experience with PMS-Prolog: A Distributed, Coarse-Grain-Parallel Prolog with Processes, Modules and Streams”, Basser Department of Computer Science Technical Report (May 1991) (Submitted to Software-Practice and Experience).

    Google Scholar 

  38. Wise, Michael J., David G. Jones and Tom Hintz, “PMS-Prolog: A Distributed, Coarse-Grain-Parallel Prolog with Processes, Modules and Streams”, Distributed Prolog, ed. Peter Kacsuk and Michael J. Wise, John Wiley (1992).

    Google Scholar 

  39. Wise, Michael J., “Message-Brokers: A Novel Interprocess Communications Primitive”, Basser Department of Computer Science Technical Report 428 (January 1992).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Daniel Etiemble Jean-Claude Syre

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wise, M.J. (1992). Message-brokers and communicating prolog processes. In: Etiemble, D., Syre, JC. (eds) PARLE '92 Parallel Architectures and Languages Europe. PARLE 1992. Lecture Notes in Computer Science, vol 605. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55599-4_109

Download citation

  • DOI: https://doi.org/10.1007/3-540-55599-4_109

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55599-5

  • Online ISBN: 978-3-540-47250-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics