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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Bibliography
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).
Bach, Maurice J., The Design of the UNIX Operating System, Prentice Hall (1986).
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).
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).
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).
Carriero, Nicholas and David Gelernter, “Linda in Context”, Communications of the ACM 32(4), pp. 444–458 (April 1989).
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).
Conery, John S., Parallel Execution of Logic Programs, Kluwer Academic Publishers (1987).
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).
Delgado-Rannauro, Sergio A., “Computational Models of Parallel Logic Languages”, CA-46, ECRC (European Computer-Industry Research Centre) (May 1989).
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).
Fagin, Barry S. and Alvin M. Despain, “The Performance of Parallel Prolog Programs”, IEEE Transactions on Computers 39(12), pp. 1434–1445 (December 1990).
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).
Futó, Iván and Peter Kacsuk, “CS-Prolog on Multitransputer Systems”, Microprocessors and Microsystems 13(2), pp. 103–12 (March 1989).
Gray, Jim, “The Cost of Messages”, Seventh Annual Symposium on Principles of Distributed Computing, Toronto, Ontario, Canada, pp. 1–7 (August 15–17, 1988).
Gregory, Steve, Parallel Logic Programming in PARLOG, Addison-Wesley (1987).
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).
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).
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).
Kacsuk, Peter and Michael J. Wise, Distributed Prolog, John Wiley (1992).
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).
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).
Milner, Robin, Joachim Parrow and David Walker, “A Calculus of Mobile Processes, Part I”, Journal of Information and Computation (1991) (To appear).
Milner, Robin, Joachim Parrow and David Walker, “A Calculus of Mobile Processes, Part II”, Journal of Information and Computation (1991) (To appear).
Quintus Computer Systems Inc, “Quintus Prolog Multiprocessing Package”, Manual for Version 1.0, Quintus Computer Systems Inc (June 1989).
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).
Ringwood, G. A., “PARLOG86 and the Dining Logicians”, Communications of the ACM 31(1), pp. 10–25 (January 1988).
Shapiro, Ehud, “Concurrent Prolog: A Progress Report”, Fundamentals of Artificial Intelligence, ed. W. Bibel and Ph. Jorrand, pp. 277–313, Springer-Verlag (1987).
Shapiro, Ehud, “The Family of Concurrent Logic Programming Languages”, Computing Surveys 21(3), pp. 412–510 (September 1989).
Shizgal, I., “The Amoeba-Prolog System”, The Computer Journal 33(6), pp. 508–517 (1990).
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).
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).
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).
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).
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).
Wise, Michael J., Prolog Multiprocessors, Prentice-Hall (Australia) (December 1986) (Japanese translation published by Keigaku Publishing Co, Tokyo, 1989).
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).
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).
Wise, Michael J., “Message-Brokers: A Novel Interprocess Communications Primitive”, Basser Department of Computer Science Technical Report 428 (January 1992).
Author information
Authors and Affiliations
Editor information
Rights 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