COLBERT (Konolige, 1997) is an elegant C like
language defining hierarchical concurrent state ma-
chines. It supports execution of activities (i.e. finite
state automata) that run concurrently possibly invok-
ing other activities and communicate through a global
store or signals. Agent actions include robot actions
and state changes, and all agent state information is
recorded in the Saphira perceptual space. eXAT (Ste-
fano and Santoro, 2005) models agent tasks using
state machines, that can be “activated” by the rule
engine of the agent. eXAT tasks can be combined
sequentially or concurrently, allowing re-usability of
the defined state machines. Fork and join operators
on concurrent state machine execution exist that al-
low composition of complex tasks.
TSTATES library provides some of the above
mentioned features and lacks others. State
machine invocation is possible through the
activate-machine
primitive, but concurrent
execution as that is defined in COLBERT and XABSL
is missing. Concurrent actions, although clearly
a desired property in a real-world robotic system,
might not be suitable for agent simulation platforms
and especially for NetLogo. In the latter, fairness
among agents in the simulation is provided by
ensuring that at each cycle one action is executed.
However, having multiple concurrent active states is
a future direction of the TSTATES library, possibly
incorporating some sort of priority annotation on
the actions that would allow at the end to have a
single action as the outcome of the process. Finally,
although similar agent behaviours could be encoded
in the RePast (North et al., 2007) agent simulation
platform, such a task would require more effort by
a scientist not familiar with JAVA programming to
create an experiment.
4 CONCLUSIONS
The TSTATES library is a first attempt to a more so-
phisticated control of NetLogo turtles, that presents
a number of benefits: simple behaviour specification
and seamless integration with the NetLogo language
primitives, resulting in no expressivity loss w.r.t. the
agent models that can be encoded. We intend to ex-
tend the current approach in a number of ways:
• support the execution of concurrent active states
and possibly fork and join composition operators
on machine invocation,
• investigate how state machine behaviours can
be combined with concepts of current BDI ap-
proaches to programming agents, (as in eXAT),
• provide debugging facilities in NetLogo.
As a final note, simulation platforms can be an
good testbed for the initial evaluation of new agent
programming languages, since they allow their as-
sessment in gradually more sophisticated “complete”
agent environments.
REFERENCES
Davidsson, P., Holmgren, J., Kyhlbck, H., Mengistu, D.,
and Persson, M. (2007). Applications of agent based
simulation. In Multi-Agent-Based Simulation VII,
volume 4442 of Lecture Notes in Computer Science,
pages 15–27. Springer Berlin / Heidelberg.
Konolige, K. (1997). Colbert: A language for reactive con-
trol in sapphira. In KI:Advances in Artificial Intel-
ligence, volume 1303 of Lecture Notes in Computer
Science, pages 31–52. Springer.
Loetzsch, M., Risler, M., and Jungel, M. (2006). Xabsl
- a pragmatic approach to behavior engineering. In
Intelligent Robots and Systems, 2006 IEEE/RSJ Inter-
national Conference on, pages 5124 –5129.
Nikolai, C. and Madey, G. (2009). Tools of the trade:
A survey of various agent based modeling platforms.
Journal of Artificial Societies and Social Simulation,
12(2):2.
North, M. J., Howe, T. R., Collier, N. T., and Vos, J. R.
(2007). A declarative model assembly infrastructure
for verification and validation. In Advancing Social
Simulation: The First World Congress. Springer, Hei-
delberg, FRG.
Railsback, S. F., Lytinen, S. L., and Jackson, S. K. (2006).
Agent-based simulation platforms: Review and devel-
opment recommendations. SIMULATION, 82(9):609–
623.
Risler, M. and von Stryk, O. (2008). Formal behavior speci-
fication of multi-robot systems using hierarchical state
machines in XABSL. In AAMAS08-Workshop on For-
mal Models and Methods for Multi-Robot Systems.
Sakellariou, I., Kefalas, P., and Stamatopoulou, I. (2008).
Enhancing Netlogo to Simulate BDI Communicating
Agents. In Artificial Intelligence: Theories, Models
and Applications, volume 5138 of Lecture Notes in
Computer Science, pages 263–275. Springer Berlin /
Heidelberg.
Steels, L. (1990). Cooperation between distributed agents
through self-organisation. In Towards a New Fron-
tier of Applications, Proceedings of the IEEE Inter-
national Workshop on Intelligent Robots and Systems
(IROS’90), pages 8–14.
Stefano, A. and Santoro, C. (2005). Supporting agent devel-
opment in Erlang through the eXAT platform. In Soft-
ware Agent-Based Applications, Platforms and De-
velopment Kits, Whitestein Series in Software Agent
Technologies and Autonomic Computing, pages 47–
71. Birkhuser Basel.
Wilensky, U. (1999). Netlogo. Center for Con-
nected Learning and Computer-based Mod-
elling. Northwestern University, Evanston, IL.
http://ccl.northwestern.edu/netlogo.
ICAART 2012 - International Conference on Agents and Artificial Intelligence
378