Skip to main content

Prolog Cafe: A Prolog to Java Translator System

  • Conference paper
Declarative Programming for Knowledge Management (INAP 2005)

Abstract

We present the Prolog Cafe system that translates Prolog into Java via the WAM . Prolog Cafe provides multi-threaded Prolog engines. A Prolog Cafe thread seems to be conceptually an independent Prolog evaluator and communicates with each other through shared Java objects. Prolog Cafe also has the advantages of portability, extensibility, smooth interoperation with Java, and modularity. In performance, our translator generates faster code for a set of classical Prolog benchmarks than an existing Prolog-to-Java translator jProlog.

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. Aït-Kaci, H.: Warren’s Abstract Machine. MIT Press, Cambridge (1991)

    Google Scholar 

  2. Warren, D.H.D.: An abstract Prolog instruction set. Technical Report Technical Note 309, SRI International, Menlo Park, CA (1983)

    Google Scholar 

  3. Codognet, P., Diaz, D.: WAMCC: Compiling Prolog to C. In: Sterling, L. (ed.) Proceedings of International Conference on Logic Programming, pp. 317–331. MIT Press, Cambridge (1995)

    Google Scholar 

  4. Banbara, M., Tamura, N.: Translating a linear logic programming language into Java. In: Proceedings of the ICLP 1999 Workshop on Parallelism and Implementation Technology for (Constraint) Logic Programming Languages, pp. 19–39 (1999)

    Google Scholar 

  5. Cook, J.J.: P#: a concurrent prolog for the .net framework. Software: Practice and Experience 34, 815–845 (2004)

    Article  Google Scholar 

  6. Inoue, K., Sasaura, Y., Soh, T., Ueda, S.: A competitive and cooperative approach to propositional satisfiability. Discrete Applied Mathematics (2006)

    Google Scholar 

  7. Kawamura, T., Kinoshita, S., Sugahara, K.: Implementation of a mobile agent framework on java environment. In: Gonzalez, T. (ed.) Proceedings of the IASTED International Conference Parallel and Distributed Computing and Systems, pp. 589–593. MIT, Cambridge (2004)

    Google Scholar 

  8. Barbosa, J.L.V., Yamin, A.C., Augustin, I., Vargas, P.K., Geyer, C.F.R.: Holoparadigm: a multiparadigm model oriented to development of distributed systems. In: Proceedings of the International Conference on Parallel and Distributed Systems, 6 pages (ICPADS 2002) (2002)

    Google Scholar 

  9. Wohlstadter, E., Jackson, S., Devanbu, P.T.: Generating wrappers for command line programs: The cal-aggie wrap-o-matic project. In: Proceedings of International Conference on Software Engineering, pp. 243–252 (2001)

    Google Scholar 

  10. Demoen, B., Tarau, P.: jProlog home page (1996), http://www.cs.kuleuven.ac.be/~bmd/PrologInJava/

  11. Tarau, P., Boyer, M.: Elementary Logic Programs. In: Deransart, P., Małuszyński, J. (eds.) PLILP 1990. LNCS, vol. 456, pp. 159–173. Springer, Heidelberg (1990)

    Chapter  Google Scholar 

  12. Banbara, M., Tamura, N.: Java implementation of a linear logic programming language. In: Proceedings of the 10th Exhibition and Symposium on Industrial Applications of Prolog, pp. 56–63 (1997)

    Google Scholar 

  13. Carro, M., Hermenegildo, M.V.: Concurrency in prolog using threads and a shared database. In: Schreye, D.D. (ed.) Proceedings of the 15th International Conference on Logic Programming (ICLP 1999), pp. 320–334 (1999)

    Google Scholar 

  14. Tarau, P.: Jinni: a lightweight java-based logic engine for internet programming. In: Sagonas, K. (ed.) Proceedings of JICSLP 1998 Implementation of LP languages Workshop (1998) (invited talk)

    Google Scholar 

  15. Li, C.M., Anbulagan: Heuristics based on unit propagation for satisfyability problems. In: Proceedings of the Fifteenth International Joint Conference on Artificial Intelligence (IJCAI 1997), pp. 366–371 (1997)

    Google Scholar 

  16. Selman, B., Kautz, H., Cohen, B.: Local search strategies for satisfiability testing. In: Johnson, D.S., M.A. (eds.) Cliques, Coloring and Satisfiability: Second DIMACS Implementation Challenge. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 26, pp. 521–531. American Mathematical Society (1996)

    Google Scholar 

  17. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient sat solver. In: Proceedings of the 38th Design Automation Conference (DAC 2001), pp. 530–535. ACM, New York (2001)

    Chapter  Google Scholar 

  18. Hoos, H.H., Stutzle, T.: SATLIB: An online resource for research on sat. In: Gent, I.P., H.v.Maaren, T. (eds.) SAT 2000, pp. 283–292. IOS Press, Amsterdam (2000), http://www.satlib.org/

    Google Scholar 

  19. Kautz, H., Selman, B.: Unifying sat-based and graph-based planning. In: Proceedings of the 16th International Joint Conference on Artificial Intelligence, pp. 318–325 (1999)

    Google Scholar 

  20. Garey, M.R., Johnson, D.S., Sethi, R.: The complexity of flowshop and jobshop scheduling. Mathematics Operation Research 1, 117–129 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  21. IF Computer MINERVA home page (1996), http://www.ifcomputer.com/MINERVA/

  22. Winikoff, M.: W-Prolog home page (1996), http://goanna.cs.rmit.edu.au/~winikoff/wp/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Banbara, M., Tamura, N., Inoue, K. (2006). Prolog Cafe: A Prolog to Java Translator System. In: Umeda, M., Wolf, A., Bartenstein, O., Geske, U., Seipel, D., Takata, O. (eds) Declarative Programming for Knowledge Management. INAP 2005. Lecture Notes in Computer Science(), vol 4369. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11963578_1

Download citation

  • DOI: https://doi.org/10.1007/11963578_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69233-1

  • Online ISBN: 978-3-540-69234-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics