much larger programming projects which take weeks
or even months. Other issues may be more specific
to the particulars of agent programming languages. It
may, for example, be the case that successfully com-
pleting tasks that involve virtual environments such
as Emohawk require that more time is spend on ob-
serving and testing the agent’s behaviour in that envi-
ronment (if only because virtual characters take more
time to perform actions). A significant amount of time
thus may be used to this end compared to the time
that is actually spend on programming. As a conse-
quence, the use of a virtual environment may make it
more difficult to measure the effect of a programming
language on completing a task. Based on observa-
tions during the experiment we do not believe there
has been a significant difference in amount of test-
ing for either of the platforms used. For future work,
we therefore suggest to also measure the actual time
spent on various subtasks such as testing.
Finally, some language specific conclusions may
still be drawn based on the language feature usage
that we observed. An interesting finding has been
that subjects that programmed in POSH use the plan,
senses and actions language features for completing
the coding tasks. Subjects that programmed in GOAL,
however, can make due with just the modules (con-
sisting of rules) and the knowledge section. These
language features offer more or less the same expres-
sivity and therefore allow programmers to provide the
same functionality by only using these features. This
suggests that for this particular study an agent pro-
gramming language that provides an efficient way to
encode and execute plans that consist of condition-
action rules may be sufficient. Moreover, a likely rea-
son that explains why the event module of GOAL was
not used is that completing the tasks only required
writing of a relatively simple reactive agent that can
derive its behavior directly from the information it
perceives. It may therefore be interesting in future
work to design tasks that require more complicated
decision logic and/or persistent memory in order to
determine when specific language features are actu-
ally used. Such tasks might reveal differences be-
tween e.g., POSH and GOAL, as tasks in which an
agent is required to infer persistent beliefs from per-
cepts might be harder to write in POSH than in GOAL.
8 CONCLUSION
In this paper, we reported the results of a comparative
study of the agent programming languages GOAL and
POSH. We discussed the design of an experiment that
required subjects to complete both comprehension as
well as coding tasks for an agent that controls a char-
acter in the virtual environment Emohawk. The tasks
were designed such that they could be completed us-
ing either GOAL or POSH. As in other studies we did
not yet find conclusive results that suggest the agent
programming language used has a significant influ-
ence on programmer performance. We did find that
general programming experience seems to be a rel-
atively big advantage when using a (new) program-
ming language. This may in part be due to the experi-
ence of using tooling support to develop code, which
highlights once more the importance of this aspect
when developing agent programming languages.
In addition, we believe that our study provides
several useful clues for the design of future compar-
ative studies that may actually yield concrete results
about the effectiveness of language features incorpo-
rated in a language. In our study the tasks required
programming a purely reactive agent, whereas pro-
gramming a more goal-oriented agent that needs to
use more complicated decision logic and/or persistent
memory may highlight differences between e.g., lan-
guages such as GOAL and POSH more. As GOAL and
POSH are clearly different programming languages
that are used in different ways, more work on the de-
sign of comparative studies is needed to provide in-
sights on the usability of features of these languages.
REFERENCES
Behrens, T. M., Hindriks, K. V., and Dix, J. (2011). To-
wards an environment interface standard for agent
platforms. Annals of Mathematics and Artificial In-
telligence, 61(4):261–295.
B
´
ıda, M. and Brom, C. (2010). Emohawk: learning virtual
characters by doing. Interactive Storytelling, pages
271–274.
Bordini, R., Dastani, M., Dix, J., and El Fallah Seghrouchni,
A. (2009). Multi-agent programming: Languages,
tools and applications, Vol. 15. Berlin: Springer.
Bordini, R., Dastani, M., Dix, J., and Seghrouchni, A.
E. F., editors (2005). Multi-Agent Programming: Lan-
guages, Platforms and Applications. Springer.
Brom, C. (2009). Curricula of the course on modelling be-
haviour of human and animal-like agents. In Proceed-
ings of the Frontiers in Science Education Research
Conference, volume 22, page 24.
Brom, C., Gemrot, J., Bıda, M., Burkert, O., Partington, S.,
and Bryson, J. (2006). Posh tools for game agent de-
velopment by students and non-programmers. In 9th
international conference on computer games: Ai, an-
imation, mobile, educational & serious games, pages
126–135.
Bryson, J. (2001). Intelligence by design: principles of
modularity and coordination for engineering complex
ICAART 2016 - 8th International Conference on Agents and Artificial Intelligence
202