Advertisement

Message-brokers and communicating prolog processes

  • Michael J. Wise
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Logic Program Prolog Program Logic Programming Language Interprocess Communication Parallel Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. 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. 2.
    Bach, Maurice J., The Design of the UNIX Operating System, Prentice Hall (1986).Google Scholar
  3. 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).CrossRefGoogle Scholar
  4. 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. 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. 6.
    Carriero, Nicholas and David Gelernter, “Linda in Context”, Communications of the ACM 32(4), pp. 444–458 (April 1989).CrossRefGoogle Scholar
  7. 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. 8.
    Conery, John S., Parallel Execution of Logic Programs, Kluwer Academic Publishers (1987).Google Scholar
  9. 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. 10.
    Delgado-Rannauro, Sergio A., “Computational Models of Parallel Logic Languages”, CA-46, ECRC (European Computer-Industry Research Centre) (May 1989).Google Scholar
  11. 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. 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).CrossRefGoogle Scholar
  13. 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. 14.
    Futó, Iván and Peter Kacsuk, “CS-Prolog on Multitransputer Systems”, Microprocessors and Microsystems 13(2), pp. 103–12 (March 1989).CrossRefGoogle Scholar
  15. 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. 16.
    Gregory, Steve, Parallel Logic Programming in PARLOG, Addison-Wesley (1987).Google Scholar
  17. 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. 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. 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. 20.
    Kacsuk, Peter and Michael J. Wise, Distributed Prolog, John Wiley (1992).Google Scholar
  21. 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. 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. 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. 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. 25.
    Quintus Computer Systems Inc, “Quintus Prolog Multiprocessing Package”, Manual for Version 1.0, Quintus Computer Systems Inc (June 1989).Google Scholar
  26. 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).CrossRefGoogle Scholar
  27. 27.
    Ringwood, G. A., “PARLOG86 and the Dining Logicians”, Communications of the ACM 31(1), pp. 10–25 (January 1988).CrossRefGoogle Scholar
  28. 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. 29.
    Shapiro, Ehud, “The Family of Concurrent Logic Programming Languages”, Computing Surveys 21(3), pp. 412–510 (September 1989).CrossRefGoogle Scholar
  30. 30.
    Shizgal, I., “The Amoeba-Prolog System”, The Computer Journal 33(6), pp. 508–517 (1990).CrossRefGoogle Scholar
  31. 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. 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. 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).CrossRefGoogle Scholar
  34. 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. 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. 36.
    Wise, Michael J., Prolog Multiprocessors, Prentice-Hall (Australia) (December 1986) (Japanese translation published by Keigaku Publishing Co, Tokyo, 1989).Google Scholar
  37. 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. 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. 39.
    Wise, Michael J., “Message-Brokers: A Novel Interprocess Communications Primitive”, Basser Department of Computer Science Technical Report 428 (January 1992).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Michael J. Wise
    • 1
  1. 1.Department of Computer ScienceUniversity of SydneyAustralia

Personalised recommendations