Skip to main content

I.C. Prolog II: a Multi-threaded Prolog System

  • Chapter
Implementations of Logic Programming Systems

Abstract

This paper introduces IC-Prolog II — a new implementation of Prolog that is particularly suited to distributed applications. Unlike other work on distributed logic programming, we do not aim to improve the raw performance of a logic program nor do we require multiprocessor machines or specialised hardware. Instead, our aim is to widen the applicability of logic programming to encompass new classes of practical applications which require the co-ordination of concurrently executing programs on separate workstations to communicate over the network.

IC-Prolog II features multiple threads, a Parlog sub-system and high-level communication primitives. Multiple threads enables the concurrent execution of independent goals. The Parlog sub-system allows local fine-grained parallelism to be specified. In IC-Prolog II, Prolog can call Parlog and viceversa. The combination of the two logic languages offers greater expressive power than simply the sum of the two since different components of the same application may use either Parlog or Prolog or both. The high-level communication primitives provide the means for independent IC-Prolog II processes on different machines on a network to communicate. The result is a language well-suited for writing network-friendly applications.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. A. M. Ali and R. Karlsson. The Muse Or-Parallel Prolog Model and its Performance. In S. Debray and M. Hermenegildo, editors, Proceedings of the North American Conference on Logic Programming, pages 747–768, Austin, October 1990. MIT Press.

    Google Scholar 

  2. A. Brogi and P. Ciancarini. The Concurrent Language Shared Prolog. ACM Transactions on Programming Languages and Systems, 13(1):99–123, January 1991.

    Article  Google Scholar 

  3. M. Carlsson. Freeze, Indexing and other Implementation Issues in the WAM. In Proceedings of the Fourth International Conference on Logic Programming, pages 40–58, Melbourne, May 1987.

    Google Scholar 

  4. M. Carlsson and J. Widen. SICStus Prolog User Manual. Research Report R88007B, Swedish Institute of Computer Science, Kista, 1988.

    Google Scholar 

  5. D. A. Chu. I.C. Prolog II: Language for Implementing Multi-Agent Systems. In S. M. Deen, editor, Proceedings of the SIG on Cooperating Knowledged Based Systems, pages 61–74. DAKE Centre, University of Keele, 1993.

    Google Scholar 

  6. K. L. Clark and S. Gregory. Parlog and Prolog United. In Proceedings of the Fourth International Conference on Logic Programming, pages 927–961, Melbourne, May 1987. MIT Press.

    Google Scholar 

  7. K. L. Clark, F. G. McCabe, and S. Gregory. IC-PROLOG Language Features. In K. L. Clark and S.-A. Tarnlund, editors, Logic Programming, pages 253–266. Academic Press, London, 1982.

    Google Scholar 

  8. A. Colmerauer. Prolog-II Manuel de Reference et Modele Theorique. Groupe d’Intelligence Artificielle, Universite d’Aix-Marseille, Luminy.

    Google Scholar 

  9. Y. Cosmadopoulos and D. A. Chu. IC Prolog II Reference Manual. Logic Programming Section, Dept. of Computing, Imperial College, London, 1993.

    Google Scholar 

  10. V. S. Costa, R. Yang, and D. H. D. Warren. The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model. In Eighth International Conference on Logic Programming, Paris, June 1991. MIT Press.

    Google Scholar 

  11. J. Crammond. The Abstract Machine and Implementation of Parallel Parlog. New Generation Computing, 10:385–422, 1992.

    Article  Google Scholar 

  12. K. De Bosschere. Multi-Prolog, Another Approach for Parallelizing Prolog. In D. J. Evans, G. R. Joubert, and F. J. Peters, editors, Proceedings of Parallel Computing, pages 443–448, Leiden, 1989. Elsevier North Holland.

    Google Scholar 

  13. Sz. Ferenczi and I. Futo. CS-Prolog: a Communicating Sequential Prolog. In P. Kacsuk and M. Wise, editors, Implementations of Distributed Prolog, pages 357–378. John Wiley & Sons, Chichester, 1982.

    Google Scholar 

  14. S. Gregory. Parallel Logic Programming in PARLOG. International Series in Logic Programming. Addison-Wesley Publishing Company, Wokingham, 1987.

    Google Scholar 

  15. E. Lusk, D. H. D. Warren, and S. Haridi. The Aurora OR-Parallel Prolog System. New Generation Computing, 7(2,3):243–271, 1990.

    Article  Google Scholar 

  16. F. G. McCabe. Logic and Objects. Prentice Hall International Series in Computer Science. Prentice Hall International (UK) Ltd., Hemel Hempstead, 1992.

    Google Scholar 

  17. L. Naish. Parallelizing NU-Prolog. In R. A. Kowalski and K. A. Bowen, editors, Proceedings of the Fifth International Conference and Symposium on Logic Programming, pages 1546–1564, Seattle, August 1988. MIT Press.

    Google Scholar 

  18. L. M. Pereira and R. Nasr. Delta-Prolog: A Distributed Logic Programming Language. In Proceedings of the International Conference on Fifth Generation Computer Systems, pages 283–291, Tokyo, November 1984.

    Google Scholar 

  19. A. Porto. Epilog: a Language for Extended Programming in Logic. In J. A. Campbell, editor, Implementations of Prolog, pages 268–278. Ellis Horwood, Chichester, 1984.

    Google Scholar 

  20. Quintus Corporation, Palo Alto. Manual for Quintus Prolog Release 3.1, 1991.

    Google Scholar 

  21. W. R. Stevens. UNIX Network Programming. Prentice Hall Software Series. Prentice-Hall, New Jersey, 1990.

    Google Scholar 

  22. J. Thorn and J. Zobel. NU-Prolog Reference Manual, version 1.0. Technical Report 86/10, Dept. of Computer Science, University of Melbourne, 1986.

    Google Scholar 

  23. D. H. D. Warren. An Abstract Prolog Instruction Set. Technical Note 309, Artificial Intelligence Center, SRI International, October 1983.

    Google Scholar 

  24. M. J. Wise, D. G. Jones, and T. Hintz. PMS-Prolog: a Distributed, Coarse-grain-parallel Prolog with Processes, Modules and Streams. In P. Kacsuk and M. Wise, editors, Implementations of Distributed Prolog, pages 379–403. John Wiley & Sons, Chichester, 1982.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer Science+Business Media New York

About this chapter

Cite this chapter

Chu, D. (1994). I.C. Prolog II: a Multi-threaded Prolog System. In: Tick, E., Succi, G. (eds) Implementations of Logic Programming Systems. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2690-2_2

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-2690-2_2

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-6157-2

  • Online ISBN: 978-1-4615-2690-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics