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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aït-Kaci, H.: Warren’s Abstract Machine. MIT Press, Cambridge (1991)
Warren, D.H.D.: An abstract Prolog instruction set. Technical Report Technical Note 309, SRI International, Menlo Park, CA (1983)
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)
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)
Cook, J.J.: P#: a concurrent prolog for the .net framework. Software: Practice and Experience 34, 815–845 (2004)
Inoue, K., Sasaura, Y., Soh, T., Ueda, S.: A competitive and cooperative approach to propositional satisfiability. Discrete Applied Mathematics (2006)
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)
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)
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)
Demoen, B., Tarau, P.: jProlog home page (1996), http://www.cs.kuleuven.ac.be/~bmd/PrologInJava/
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)
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)
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)
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)
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)
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)
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)
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/
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)
Garey, M.R., Johnson, D.S., Sethi, R.: The complexity of flowshop and jobshop scheduling. Mathematics Operation Research 1, 117–129 (1976)
IF Computer MINERVA home page (1996), http://www.ifcomputer.com/MINERVA/
Winikoff, M.: W-Prolog home page (1996), http://goanna.cs.rmit.edu.au/~winikoff/wp/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)