Abstract
Various agent programming languages and frameworks have been developed by now, but very few systematic studies have been done as to how the language constructs in these languages may and are in fact used in practice. Performing a study of these aspects contributes to the design of best practices or programming guidelines for agent programming. Following a first empirical study of agent programs written in the Goal agent programming language for the dynamic blocks world, in this paper we perform a considerably more extensive analysis of agent programs for the first-person shooter game Unreal Tournament 2004. We identify and discuss several structural code patterns based on a qualitative analysis of the code, and analyze for which purposes the constructs of Goal are typically used. This provides insight into more practical aspects of the development of agent programs, and forms the basis for development of programming guidelines and language improvements.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
SWI Prolog, http://www.swi-prolog.org/
Ben-Ari, M., Ben-David Kolikant, Y.: Thinking parallel: The process of learning concurrency. In: Fourth SIGCSE Conference on Innovation and Technology in Computer Science Education, pp. 13–16 (1999)
Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F.: Multi-Agent Programming: Languages, Tools and Applications. Springer, Heidelberg (2009)
Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-agent Systems in AgentSpeak using Jason. Wiley (2007)
Burkert, O., Kadlec, R., Gemrot, J., Bída, M., Havlíček, J., Dörfler, M., Brom, C.: Towards Fast Prototyping of IVAs Behavior: Pogamut 2. In: Pelachaud, C., Martin, J.-C., André, E., Chollet, G., Karpouzis, K., Pelé, D. (eds.) IVA 2007. LNCS (LNAI), vol. 4722, pp. 362–363. Springer, Heidelberg (2007)
Dastani, M.: 2APL: a practical agent programming language. JAAMAS 16(3), 214–248 (2008)
Dignum, V.: A Model for Organizational Interaction: Based on Agents, Founded in Logic. PhD thesis (2004)
Hindriks, K.V.: GOAL Programming Guide (2010), http://mmi.tudelft.nl/~koen/goal
Hindriks, K.V., Birna van Riemsdijk, M., Behrens, T., Korstanje, R., Kraaijenbrink, N., Pasman, W., de Rijk, L.: Unreal GOAL agents. In: Proc. of AGS 2010 (2010)
Howatt, J.: A project-based approach to programming language evaluation. ACM SIGPLAN Notices 30(7), 37–40 (1995)
Jordan Howell, R., Collier, R.: Evaluating agent-oriented programs: Towards multi-paradigm metrics. In: Proc. of ProMAS 2010, pp. 63–79 (2010)
Marshall, M.N.: Sampling for qualitative research. Family Practice 13(6), 522–525 (1996)
Padgham, L., Winikoff, M.: Developing Intelligent Agent Systems: A Practical Guide. Wiley Series in Agent Technology. John Wiley and Sons (2004)
Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: a BDI reasoning engine. In: Multi-Agent Programming. Springer, Berlin (2005)
Shoham, Y.: Agent-oriented programming. Artificial Intelligence 60, 51–92 (1993)
van Riemsdijk, M.B., Hindriks, K.V.: An Empirical Study of Agent Programs: A Dynamic Blocks World Case Study in GOAL. In: Yang, J.-J., Yokoo, M., Ito, T., Jin, Z., Scerri, P. (eds.) PRIMA 2009. LNCS, vol. 5925, pp. 200–215. Springer, Heidelberg (2009)
Wasserman, A.I.: Issues in programming language design— an overview. SIGPLAN Notices (1975)
Winikoff, M.: JACKTM intelligent agents: an industrial strength platform. In: Multi-Agent Programming: Languages, Platforms and Applications. Springer, Heidelberg (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hindriks, K.V., van Riemsdijk, M.B., Jonker, C.M. (2012). An Empirical Study of Patterns in Agent Programs. In: Desai, N., Liu, A., Winikoff, M. (eds) Principles and Practice of Multi-Agent Systems. PRIMA 2010. Lecture Notes in Computer Science(), vol 7057. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25920-3_14
Download citation
DOI: https://doi.org/10.1007/978-3-642-25920-3_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25919-7
Online ISBN: 978-3-642-25920-3
eBook Packages: Computer ScienceComputer Science (R0)