Various agent programming languages and frameworks have been developed by now, but very few systematic studies have been done as to how the elements in these languages may be and are in fact used in practice. Performing a study of these aspects contributes to the design of instruments for facilitating development of high-quality agent programs, namely programming language, programming guidelines and teaching methods, and development environment. In this paper we propose an approach for empirically studying how programmers use a programming language, in which we identify several analysis dimensions. We perform two case studies in which we analyze agent programs written in the GOAL agent programming language along the identified dimensions. The case studies concern programs for the dynamic Blocks World and for controlling bots in the first-person shooter game UNREAL TOURNAMENT 2004. We evaluate our experimental setup and discuss to what extent our findings generalize to other cognitive agent programming languages. This provides insight into more practical aspects of the development of agent programs, and forms the basis for improvement of instruments for facilitating agent development.
- Agent programming
- empirical software