Abstract
Agent programs are increasingly widely used for large scale, time critical applications. In developing such applications, the performance of the agent platform is a key concern. Many logic-based BDI-based agent programming languages rely on inferencing over some underlying knowledge representation. While this allows the development of flexible, declarative programs, repeated inferencing triggered by queries to the agent’s knowledge representation can result in poor performance. In this paper we present an approach to query caching for agent programming languages. Our approach is motivated by the observation that agents repeatedly perform queries against a database of beliefs and goals to select possible courses of action. Caching the results of previous queries (memoization) is therefore likely to be beneficial. We develop an abstract model of the performance of a logic-based BDI agent programming language. Using our model together with traces from typical agent programs, we quantify the possible performance improvements that can be achieved by memoization. Our results suggest that memoization has the potential to significantly increase the performance of logic-based agent platforms.
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
Forgy, C.: Rete: a fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence 19(1), 17–37 (1982)
Miranker, D.P.: TREAT: A better match algorithm for AI production systems. In: Proceedings of the Sixth National Conference on Artificial Intelligence, AAAI 1987, pp. 42–47. AAAI Press (1987)
Laird, J.E., Newell, A., Rosenbloom, P.S.: SOAR: An architecture for general intelligence. Artificial Intelligence 33, 1–64 (1987)
Software Technology Branch, Lyndon B. Johnson Space Center Houston: CLIPS Reference Manual: Version 6.21 (June 2003)
Jena (2011), http://jena.sourceforge.net/
Bordini, R.H., Hubner, J.F., Wooldridge, M.: Programming Multi-Agent Systems in AgentSpeak using Jason. Wiley (2007)
Dastani, M.: 2APL: a practical agent programming language. International Journal of Autonomous Agents and Multi-Agent Systems 16(3), 214–248 (2008)
Hindriks, K.V.: Programming Rational Agents in GOAL. In: Multi-Agent Programming, pp. 119–157. Springer (2009)
Dastani, M., de Boer, F.S., Dignum, F., Meyer, J.J.C.: Programming agent deliberation. In: Proceedings of the Second International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 97–104. ACM (2003)
JIProlog (2011), http://www.ugosweb.com/jiprolog/
SWI-Prolog (2011), http://www.swi-prolog.org/
Elevator Simulator (2011), http://sourceforge.net/projects/elevatorsim/
Dastani, M., Dix, J., Novak, P.: The first contest on multi-agent systems based on computational logic. In: Toni, F., Torroni, P. (eds.) CLIMA 2005. LNCS (LNAI), vol. 3900, pp. 373–384. Springer, Heidelberg (2006)
Behrens, T., Dix, J., Köster, M., Hübner, J. (eds.): Special Issue about Multi-Agent-Contest II. Annals of Mathematics and Artificial Intelligence, vol. 61. Springer, Netherlands (2011)
Dennis, L.A.: Plan indexing for state-based plans. In: Sakama, C., Sardina, S., Vasconcelos, W., Winikoff, M. (eds.) DALT 2011. LNCS, vol. 7169, pp. 3–15. Springer, Heidelberg (2012)
Thielscher, M.: Pushing the envelope: Programming reasoning agents. In: AAAI Workshop Technical Report WS-02-05: Cognitive Robotics. AAAI Press (2002)
Giacomo, G.D., Lespérance, Y., Levesque, H.J., Sardina, S.: IndiGolog: A high-level programming language for embedded reasoning agents. In: Bordini, R.H., Dastani, M., Dix, J., Fallah-Seghrouchni, A.E. (eds.) Multi-Agent Programming: Languages, Platforms and Applications, pp. 31–72. Springer (2009)
Koch, F., Dignum, F.: Enhanced deliberation in BDI-modelled agents. In: Demazeau, Y., Dignum, F., Corchado, J.M., Pérez, J.B. (eds.) Advances in PAAMS. AISC, vol. 70, pp. 59–68. Springer, Heidelberg (2010)
Singh, D., Sardina, S., Padgham, L., James, G.: Integrating learning into a BDI agent for environments with changing dynamics. In: Proceedings of the International Joint Conference on Artificial Intelligence, IJCAI, pp. 2525–2530 (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Alechina, N., Behrens, T., Hindriks, K.V., Logan, B. (2013). Query Caching in Agent Programming Languages. In: Dastani, M., Hübner, J.F., Logan, B. (eds) Programming Multi-Agent Systems. ProMAS 2012. Lecture Notes in Computer Science(), vol 7837. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38700-5_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-38700-5_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38699-2
Online ISBN: 978-3-642-38700-5
eBook Packages: Computer ScienceComputer Science (R0)