Home | Issues | Profile | History | Submission | Review
Vol: 47(61) No: 2 / June 2002        

A LOOP Remote Method Invocation Protocol
Alin Suciu
Department of Computer Science, Technical University of Cluj-Napoca, Faculty of Automation and Computers, Baritiu 28, 3400 Cluj-Napoca, Romania, phone: (+40-64) 194491, e-mail: alin.suciu@cs.utcluj.ro
Kalman Pusztai
Department of Computer Science, Technical University of Cluj-Napoca, Faculty of Automation and Computers, Baritiu 28, 3400 Cluj-Napoca, Romania, e-mail: kalman.pusztai@cs.utcluj.ro
Tudor Muresan
Department of Computer Science, Technical University of Cluj-Napoca, Faculty of Automation and Computers, Baritiu 28, 3400 Cluj-Napoca, Romania, e-mail: tudor.muresan@cs.utcluj.ro
Rodica Potolea
Department of Computer Science, Technical University of Cluj-Napoca, Faculty of Automation and Computers, Baritiu 28, 3400 Cluj-Napoca, Romania, e-mail: rodica.potolea@cs.utcluj.ro


Keywords: LOOP, Remote Predicate Call, Prolog, logic programming, Remote Method Invocation, distributed programming.

Abstract
Following the ideas of the Remote Procedure Call model, we developed a logic programming counterpart, naturally called Prolog Remote Predicate Call (Prolog RPC). The Prolog RPC protocol facilitates the integration of Prolog code in multilanguage applications as well as the development of distributed intelligent applications. The LOOP Remote Method Invocation (LOOP RMI) protocol is an extension of the Prolog RPC protocol, designed for the logic and object-oriented language LOOP. An important use of the protocol could be for the development of distributed applications that use LOOP or Prolog at least partially to achieve their goals. Most notably the Distributed Artificial Intelligence (DAI) applications that are suitable for logic programming can profit from the use of the protocol.

References
[1] J. Bloomer, “Power Programming with RPC”, O\'Reilly, 1992.
[2] I. Bratko, “Prolog Programming for Artificial Intelligence”, Addison-Wesley, 2001.
[3] M. Calejo, “Remote predicate calls”, Technical Note DI/UNL, October 1989.
[4] Intelligent Systems Lab, “Sicstus Prolog User\'s Manual”, SICS, Kista, Sweden, 2002.
[5] Intelligent Systems Lab, “Quintus Prolog User\'s Manual - Remote Predicate Call”, SICS, Kista, Sweden, 2002.
[6] S. Russell and P. Norvig, “Artificial Intelligence – A Modern Approach”, Prentice Hall, 1995.
[7] M. Seiya, Y. Michirou and K. Hiroshi, “RpC (Remote predicate Call)”, IPSJ SIGNotes Artificial Intelligence No.095 – 003, 1994.
[8] R. Srinivasan, “RFC1831, RPC: Remote Procedure Call Protocol Specification Version 2”, Sun Microsystems, August 1995.
[9] A. Suciu and T. Muresan, “From Prolog to LOOP”, Proc. of LPSE 2000, International Workshop on Logic Programming and Software Engineering, London, UK, July 25, 2000.
[10] A. Suciu, K. Pusztai and T. Muresan, Z. Simon, “LOOP - A Language for LP-based AI Applications”, Proc. of Thirteenth International Conference on Tools with Artificial Intelligence ICTAI 01, Dallas, Texas, USA, November 7-9, 2001, pp 299-305.
[11] P. Tarau, V. Dahl and K. De Bosschere, “Remote Execution, Mobile Code and Agents in BinProlog”, WWW6 -- Logic Programming Workshop, Santa Clara, April 7, 1997