An empirical study of patterns in agent programs

Koen V. Hindriks, M. Birna Van Riemsdijk, Catholijn M. Jonker

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review


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.

Original languageEnglish
Title of host publicationPrinciples and Practice of Multi-Agent Systems - 13th International Conference, PRIMA 2010, Revised Selected Papers
Number of pages16
Publication statusPublished - 1 Dec 2012
Externally publishedYes
Event13th International Conference on Principles and Practice of Multi-Agent Systems, PRIMA 2010 - Kolkata, India
Duration: 12 Nov 201015 Nov 2010

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7057 LNAI
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference13th International Conference on Principles and Practice of Multi-Agent Systems, PRIMA 2010

Fingerprint Dive into the research topics of 'An empirical study of patterns in agent programs'. Together they form a unique fingerprint.

Cite this