Abstract
In this paper we describe a distributed object oriented logic programming language in which an object is a collection of threads deductively accessing and updating a shared logic program. The key features of the language, such as static and dynamic object methods and multiple inheritance, are illustrated through a series of small examples. We show how we can implement object servers, allowing remote spawning of objects, which we can use as staging posts for mobile agents. We give as an example an information gathering mobile agent that can be queried about the information it has so far gathered whilst it is gathering new information. Finally we define a class of co-operative reasoning agents that can do resource bounded inference for full first order predicate logic, handling multiple queries and information updates concurrently.
We believe that the combination of the concurrent OO and the LP programming paradigms produces a powerful tool for quickly implementing rational multi-agent applications on the internet.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Holger Becht, Anthony Bloesch, Ray Nickson and Mark Utting, Ergo 4.1 Reference Manual, Technical Report No. 96-31, Software Verification Research Centre, Department of Computer Science, University of Queensland, 1996.
C. Belleannée, P. Brisset, O. Ridoux, A pragmatic reconstruction of λProlog, Journal of Logic Programming, 41(1), 1999, pp 67–102
M. Bozzano, G. Delzanno, M. Mattelli, V. Mascardi, F. Zini, Logic Programming and Multi-Agent Systems: A synergic combination for applications and semantics, in The Logic Programming Paradigm, (eds K. Apt et al), Springer-Verlag, 1999.
M. Carro and M. Hermenegildo, Concurrency in Prolog Using Threads and a Shared Database. Proceedings of ICLP99, (ed. D. De Schreye), MIT Press, 1999, pp 320–334.
A. Pineda and M. Hermenegildo, O’Ciao: An Object Oriented Programming Model for (CIAO) Prolog, Research Report CLIP 5/99.0, (accessible from http://www.clip.dia.fi.upm.es/), Facultad de Informatica, UPM, Madrid, 1999.
L. Clark, S. Gregory, Parlog: Parallel Programming in Logic, ACM Toplas 8(1), 1–49 pp, 1986.
Keith Clark, Peter Robinson and Richard Hagen. Multi-threading and Message Communication in Qu-Prolog Theory and Practice of Logic Programming, 1(3), 2001, pp 283–301.
Keith Clark, Peter J. Robinson and Richard Hagen, Programming Internet Based DAI Applications in Qu-Prolog, Multi-agent systems, (eds. C. Zhang, D. Lukose), Springer-Verlag, LNAI 1544, 1998.
K.L. Clark, T.I. Wang, Distributed Object Oriented Logic Programming, Proceedings of FGCS94 Workshop on Co-operating Heterogeneous Information Systems, Tokyo, 1994.
D. Chu, K. L. Clark, IC-Prolog II: A multi-threaded Prolog system Proceedings of ICLP93 Post Conf. Workshop on Concurrent, Distributed and Parallel implementations of Logic Programming Systems, 1993
A. Eliens, DLP, A language for distributed logic programming Wiley, 1992
Richard Hagen and Peter J. Robinson. Qu-Prolog 4.3 User Guide. Technical Report No. 97-12, Software Verification Research Centre, University of Queensland, 1999.
R. A. Kowalski, Logic Based Open Systems, Representation and Reasoning, Jakob ph. Hoepelmann (Hg.) Max Niemeyer Verlag, Tubingen, 1985, pp125–134.
R. Kowalski and F. Sadri, Towards a unified agent architecture that combines rationality with reactivity, Proc. International Workshop on Logic in Databases, Springer-Verlag, LNCS 1154, 1996.
R. A. Kowalski and F. Sadri, From Logic Programming to Multi-Agent Systems, Annals of Mathematics and Artificial Intelligence 25, 1999, pp391–419.
F.G. McCabe, Logic and Objects Prentice-Hall, 1992.
F.G. McCabe, The Inter-Agent Communication Model (ICM), http://www.nar.fla.com/icm/, Fujitsu Laboratories of America Inc, 2000.
F. G. McCabe and K. L. Clark. April:Agent Process Interaction Language. Intelligent Agents, (ed. N. Jennings, M. Wooldridge), Springer-Verlag LNCS 890, 1995.
Mozart-Oz Homepage: http://www.mozart-oz.org
I. Noda, H. Nakashima, K. Handa, Programming language GAEA and its application for multi-agent systems, Proc. of Workshop on Multi-agent systems and Logic programming, In conjunction with ICLP’99, 1999.
A. Roa, AgentSpeak(L): BDI Agents speak out in a logical computable language, Agents Breaking Away, (eds. W. van de Velde and J. W. Perram), Springer-Verlag LNCS 1038, 1996.
Peter Van Roy and Seif Haridi, Mozart: A Programming System for Agent Applications, International Workshop on Distributed and Internet Programming with Logic and Constraint Languages, 1999. Accessible from http://www.mozart-oz.org/papers/
G. Wagner, Artificial Agents and Logic Programming, in Proc. of ICLP’97 Post Conference Workshop on Logic Programming and Multi-Agent Systems, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Clark, K., Robinson, P.J. (2002). Agents as Multi-threaded Logical Objects. In: Kakas, A.C., Sadri, F. (eds) Computational Logic: Logic Programming and Beyond. Lecture Notes in Computer Science(), vol 2407. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45628-7_4
Download citation
DOI: https://doi.org/10.1007/3-540-45628-7_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43959-2
Online ISBN: 978-3-540-45628-5
eBook Packages: Springer Book Archive