Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1007/11750734_11guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Multi-threaded communicating agents in qu-prolog

Published: 27 June 2005 Publication History

Abstract

In this tutorial paper we summarise the key features of the multi-threaded Qu-Prolog language for implementing multi-threaded communicating agent applications. Internal threads of an agent communicate using the shared dynamic database used as a generalisation of Linda tuple store. Threads in different agents, perhaps on different hosts, communicate using either a thread-to-thread store and forward communication system, or by a publish and subscribe mechanism in which messages are routed to their destinations based on content test subscriptions.
We illustrate the features using an auction house application. This is fully distributed with multiple auctioneers and bidders which participate in simultaneous auctions. The application makes essential use of the three forms of inter-thread communication of Qu-Prolog. The agent bidding behaviour is specified graphically as a finite state automaton and its implementation is essentially the execution of its state transition function. The paper assumes familiarity with Prolog and the basic concepts of multi-agent systems.

References

[1]
P. J. Robinson. Ergo Reference Manual. Technical report, ITEE, University of Queensland, http://www.itee.uq.edu.au/~pjr/HomePages/ErgoFiles/cover.html.
[2]
Keith L. Clark, Peter J. Robinson, and Richard Hagen. Multi-threading and message communication in Qu-Prolog. Theory and Practice of Logic Programming, 1(3):283-301, 2001.
[3]
P. J. Robinson, M. Hinchley, and K. L. Clark. Qu-Prolog: An Implementation Language with Advanced Reasoning Capabilities. In M. Hinchley et al, editor, Formal Appraches to Agent Based systems, LNAI 2699. Springer, 2003.
[4]
B. Segall et al. Content based routing with elvin4. In Proceedings AUUG2K. Canberra, Australia, Downloadable from http://elvin.dstc.com/doc/papers/auug2k/auug2k.pdf, 2000.
[5]
M. J. Wooldridge and P.Ciancarini. Agent Oriented Software Engineering: the State of the Art. In P.Ciancarini and M. J. Wooldridge, editors, Agent Oriented Software Engineering, volume 1957 of LNCS, pages 1-28. Springer-Verlag, 2001.
[6]
N. Carriero and D. Gelernter. Linda in context. Communications of the ACM, 32(4):444-458, 1989.
[7]
T. Finin, R. Fritzson, D. McKay, and R. McEntire. KQML as an agent communication language. In Proceedings 3rd International Conference on Information and Knowledge Management, 1994.
[8]
FIPA. Fipa communicative act library specification. Technical report, Foundation for Intelligent Physical Agents, www.fipa.org, 2002.
[9]
F.G. McCabe. ICM Reference Manual. Fujitsu laboratories Ltd. Downloadable from: http://sourceforge.net/projects/networkagent/, 1999.
[10]
Reid G. Smith. The contract net protocol: High-level communication and control in a distributed problem solver. In Alan H. Bond and Les Gasser, editors, Readings in distributed aritficial intelligence, pages 357-366. Morgan Kaufmann, 1988.
[11]
S. Coffey and D. Gaertner. Using pheromones, broadcasting and negotiation for agent gathering tasks. in this volume. 2006.
[12]
Jesper Eskilson and Mats Carlsson. SICStus MT--A Multithreaded Execution Environment for SICStus Prolog. In C. Palamidessi, H. Glaser, and K. Meinke, editors, Programming Languages: Implementations, Logics, and Programs, volume 1490 of Lecture Notes in Computer Science, pages 36-53. Springer-Verlag, 1998.
[13]
Paul Tarau. BinProlog 9.x Professional Edition: User Guide. Technical report, BinNet Corp., 2002. Available from http://www.binnetcorp.com/BinProlog.
[14]
K. L. Clark and P. J. Robinson. Agents as Multi-threaded Logical Objects. In T. Kakas and F. Sadri, editors, Computational Logic: Logic Programming and Beyond. LNAI 2699, Springer, 1998.
[15]
Peter Van Roy and Seif Haridi. Mozart: A programming system for agent applications. In International Workshop on Distributed and Internet Programming with Logic and Constraint Languages. http://www.mozart-oz.org/papers/abstracts/diplcl99.html, 1999. Part of International Conference on Logic Programming (ICLP 99).
[16]
D. Cabenza M. Hemenegildo and M. Carro. On the uses of attributed variables in parallel and concurrent logic programming systems. In L Sterling, editor, Proceedings of ICLP95, pages 631-645. MIT Press, 1995.
[17]
F.G. McCabe and K.L. Clark. April - Agent PRocess Interaction Language. In N. Jennings and M.Wooldridge, editors, Intelligent Agents, pages 324-340. Springer-Verlag, LNAI, 890, 1995.
[18]
J. Armstrong, R. Virding, and M. Williams. Concurrent Programming in Erlang. Prentice-Hall International, 1993.
[19]
K. L. Clark and F. G. McCabe. Go! - a Multi-paradigm programming language for implementing Multi-threaded agents. Annals of Mathematics and Artificial Intelligence, 41(2-4):171-206, 2004.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
CLIMA'05: Proceedings of the 6th international conference on Computational Logic in Multi-Agent Systems
June 2005
426 pages
ISBN:3540339965
  • Editors:
  • Francesca Toni,
  • Paolo Torroni

Sponsors

  • Springer
  • IST: Information Society Technologies
  • SOCS: SOCS
  • The Association for Logic Programming: The Association for Logic Programming
  • AgentLink: AgentLink III

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 27 June 2005

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 30 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media