Turntaking: a case for agent-based programming
Joris Hulstijn, Gerard A. W. Vreeswijk · 2003
In this report we compare two programming languages for the development of agent-based programs. We compare 3APL, an abstract agent programming language, with Ruby, an object-oriented scripting language. The test case we selected is the turn-taking problem: how to allocate turns between speaking agents that communicate by means of an exclusive speech channel. We show that both languages are sufficiently equipped to implement a solution to the turn taking problem. Ruby is faster, and more fun to use. Ruby supports parallel processing. 3APL supports higher level concepts, and therefore does not directly fit this test case. Although the 3APL agent platform allows a natural model of a dynamic participants list, we find that the development of 3APL is far from complete. Based on our experiments, we conclude that the syntax needs to be re-evaluated and the internal deliberation cycle should be changed so as to achieve a true event-based deliberation cycle. CONTENTS 2 Contents 1