Prolog Cafe: A Prolog to Java Translator System

  • Mutsunori Banbara
  • Naoyuki Tamura
  • Katsumi Inoue
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4369)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aït-Kaci, H.: Warren’s Abstract Machine. MIT Press, Cambridge (1991)Google Scholar
  2. 2.
    Warren, D.H.D.: An abstract Prolog instruction set. Technical Report Technical Note 309, SRI International, Menlo Park, CA (1983)Google Scholar
  3. 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. 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. 5.
    Cook, J.J.: P#: a concurrent prolog for the .net framework. Software: Practice and Experience 34, 815–845 (2004)CrossRefGoogle Scholar
  6. 6.
    Inoue, K., Sasaura, Y., Soh, T., Ueda, S.: A competitive and cooperative approach to propositional satisfiability. Discrete Applied Mathematics (2006)Google Scholar
  7. 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. 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. 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. 10.
    Demoen, B., Tarau, P.: jProlog home page (1996),
  11. 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)CrossRefGoogle Scholar
  12. 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. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  18. 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), Google Scholar
  19. 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. 20.
    Garey, M.R., Johnson, D.S., Sethi, R.: The complexity of flowshop and jobshop scheduling. Mathematics Operation Research 1, 117–129 (1976)zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    IF Computer MINERVA home page (1996),
  22. 22.
    Winikoff, M.: W-Prolog home page (1996),

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Mutsunori Banbara
    • 1
  • Naoyuki Tamura
    • 1
  • Katsumi Inoue
    • 2
  1. 1.Information Science and Technology CenterKobe UniversityNada, KobeJapan
  2. 2.National Institute of InformaticsTokyoJapan

Personalised recommendations