Skip to main content

Coordination and Concurrency in Multi-engine Prolog

  • Conference paper
Book cover Coordination Models and Languages (COORDINATION 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6721))

Included in the following conference series:

Abstract

We discuss the impact of the separation of logic engines (independent logic processing units) and multi-threading on the design of coordination mechanisms for a Prolog based agent infrastructure.

We advocate a combination of coroutining constructs with focus on expressiveness and a simplified, multi-threading API that ensures optimal use available parallelism.

In this context, native multi-threading is made available to the application programmer as a set of high-level primitives with a declarative flavor while cooperative constructs provide efficient and predictable coordination mechanisms. As illustrations of our techniques, a parallel fold operation as well as cooperative implementations of Linda blackboards and publish/subscribe are described.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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. Tarau, P.: Towards Inference and Computation Mobility: The Jinni Experiment. In: Dix, J., Fariñas del Cerro, L., Furbach, U. (eds.) JELIA 1998. LNCS (LNAI), vol. 1489, pp. 385–390. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  2. Tarau, P.: Intelligent Mobile Agent Programming at the Intersection of Java and Prolog. In: Proceedings of The Fourth International Conference on The Practical Application of Intelligent Agents and Multi-Agents, London, U.K., pp. 109–123 (1999)

    Google Scholar 

  3. Tarau, P.: Inference and Computation Mobility with Jinni. In: Apt, K., Marek, V., Truszczynski, M. (eds.) The Logic Programming Paradigm: a 25 Year Perspective, pp. 33–48. Springer, Heidelberg (1999) ISBN 3-540-65463-1

    Chapter  Google Scholar 

  4. Tarau, P.: Agent Oriented Logic Programming Constructs in Jinni 2004. In: Demoen, B., Lifschitz, V. (eds.) ICLP 2004. LNCS, vol. 3132, pp. 477–478. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  5. Mayfield, J., Labrou, Y., Finin, T.W.: Evaluation of KQML as an Agent Communication Language. In: Wooldridge, M., Müller, J.P., Tambe, M. (eds.) IJCAI-WS 1995 and ATAL 1995. LNCS, vol. 1037, pp. 347–360. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  6. FIPA: FIPA 97 specification part 2: Agent communication language, Version 2.0 (October 1997)

    Google Scholar 

  7. Hermenegildo, M.V.: An abstract machine for restricted and-parallel execution of logic programs. In: Wada, E. (ed.) Logic Programming 1986. LNCS, vol. 264, pp. 25–39. Springer, Heidelberg (1987)

    Google Scholar 

  8. Tarau, P.: Fluents: A refactoring of prolog for uniform reflection and interoperation with external objects. In: Lloyd, J. (ed.) CL 2000. LNCS (LNAI), vol. 1861, p. 1225. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  9. Tarau, P., Majumdar, A.: Interoperating logic engines. In: Gill, A., Swift, T. (eds.) PADL 2009. LNCS, vol. 5418, pp. 137–151. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Tarau, P.: Logic Engines as Interactors. In: Garcia de la Banda, M., Pontelli, E. (eds.) ICLP 2008. LNCS, vol. 5366, pp. 703–707. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  11. Tarau, P., Boyer, M.: Nonstandard Answers of Elementary Logic Programs. In: Jacquet, J. (ed.) Constructing Logic Programs, pp. 279–300. J.Wiley, Chichester (1993)

    Google Scholar 

  12. Carro, M., Hermenegildo, M.V.: Concurrency in Prolog Using Threads and a Shared Database. In: ICLP, pp. 320–334 (1999)

    Google Scholar 

  13. Wielemaker, J.: Native preemptive threads in SWI-prolog. In: Palamidessi, C. (ed.) ICLP 2003. LNCS, vol. 2916, pp. 331–345. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  14. De Bosschere, K., Tarau, P.: Blackboard-based Extensions in Prolog. Software — Practice and Experience 26(1), 49–69 (1996)

    Article  Google Scholar 

  15. Gupta, G., Pontelli, E., Ali, K.A., Carlsson, M., Hermenegildo, M.V.: Parallel execution of prolog programs: a survey. ACM Trans. Program. Lang. Syst. 23(4), 472–602 (2001)

    Article  Google Scholar 

  16. Shapiro, E.: The family of concurrent logic programming languages. ACM Comput. Surv. 21(3), 413–510 (1989)

    Article  Google Scholar 

  17. Lusk, E., Mudambi, S., Gmbh, E., Overbeek, R.: Applications of the aurora parallel prolog system to computational molecular biology. In: Proc. of the JICSLP 1992 Post-Conference Joint Workshop on Distributed and Parallel Implementations of Logic Programming Systems. MIT Press, Washington, DC (1993)

    Google Scholar 

  18. Tarau, P., Dahl, V.: High-Level Networking with Mobile Code and First Order AND-Continuations. Theory and Practice of Logic Programming 1(3), 359–380 (2001)

    Article  Google Scholar 

  19. Casas, A., Carro, M., Hermenegildo, M.: Towards a high-level implementation of flexible parallelism primitives for symbolic languages. In: PASCO 2007: Proceedings of the 2007 International Workshop on Parallel Symbolic Computation, pp. 93–94. ACM, New York (2007)

    Chapter  Google Scholar 

  20. Lea, D.: A Java fork/join framework. In: Proceedings of the ACM 2000 Conference on Java Grande, JAVA 2000, pp. 36–43. ACM, New York (2000)

    Chapter  Google Scholar 

  21. Lämmel, R.: Google’s MapReduce programming model revisited. Sci. Comput. Program 68, 208–237 (2007)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 IFIP International Federation for Information Processing

About this paper

Cite this paper

Tarau, P. (2011). Coordination and Concurrency in Multi-engine Prolog. In: De Meuter, W., Roman, GC. (eds) Coordination Models and Languages. COORDINATION 2011. Lecture Notes in Computer Science, vol 6721. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21464-6_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21464-6_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21463-9

  • Online ISBN: 978-3-642-21464-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics