5 CONCLUSION
PyLogo has two major weaknesses.
• PyLogo is not optimized. It runs more slowly
than NetLogo, and it can gracefully handle only
a smaller number of agents. Even so, it handles
the standard NetLogo examples quite well.
• PyLogo doesn’t offer graphing.
Notwithstanding these limitations, PyLogo was
more than adequate for teaching an ABM course.
PyLogo’s primary advantage is that model devel-
opers write in Python. For people accustomed to writ-
ing software, writing in Python is much less frustrat-
ing than writing in NetLogo. Experienced program-
mers often feel that they are fighting the language
when writing in NetLogo. The opposite is generally
true when writing in Python.
PyLogo confirms that something as simple and
intuitive as agents interacting on a grid (using tick-
based scheduling) accommodates a very wide range
of models.
The development of PyLogo—a fully operational
core completed in a month, with additional features
plus a range of models added while using the system
for a class—demonstrates that Python enables rapid
development of a fairly sophisticated system.
PyLogo is comparatively small: 10 core files and
15 models of 2,000 SLOC and 3,000 SLOC respec-
tively. It is open-source and available for download.
REFERENCES
Badham, J. (2015). Review of: Wilensky, An Introduction
to Agent-Based Modeling. Journal of Artificial Soci-
eties and Social Simulation, 18(4).
Bakshy, E. and Wilensky, U. (2007). Netlogo-mathematica
link. Center for Connected Learning and Computer-
Based Modeling, Northwestern University, Evanston,
IL.
Feurzeig, W. and Papert, S. (1967). The logo programming
language. ODP-Open Directory Project.
Grigoryev, I. (2015). Anylogic 7 in three days. A quick
course in simulation modeling, 2.
Gunaratne, C. and Garibay, I. (2018). Nl4py: Agent-
based modeling in python with parallelizable netlogo
workspaces. arXiv preprint arXiv:1808.03292.
Harvey, B. (1982). Why logo. Byte, 7(8):163–193.
Jaxa-Rozen, M. and Kwakkel, J. H. (2018). Pynetlogo:
Linking netlogo with python. Journal of Artificial So-
cieties and Social Simulation, 21(2).
Luke, S., Cioffi-Revilla, C., Panait, L., Sullivan, K., and
Balan, G. (2005). Mason: A multiagent simulation
environment. Simulation, 81(7):517–527.
Masad, D. and Kazil, J. (2015). Mesa: an agent-based mod-
eling framework. In 14th PYTHON in Science Confer-
ence, pages 53–60.
Nagpal, A. and Gabrani, G. (2019). Python for data ana-
lytics, scientific and technical applications. In 2019
Amity International Conference on Artificial Intelli-
gence (AICAI), pages 140–145. IEEE.
North, M. J., Collier, N. T., Ozik, J., Tatara, E. R., Macal,
C. M., Bragen, M., and Sydelko, P. (2013). Com-
plex adaptive systems modeling with repast simphony.
Complex adaptive systems modeling, 1(1):3.
Ozik, J., Collier, N. T., Murphy, J. T., and North, M. J.
(2013). The relogo agent-based modeling language.
In 2013 Winter Simulations Conference (WSC), pages
1560–1568. IEEE.
Railsback, S., Ayll
´
on, D., Berger, U., Grimm, V., Lytinen,
S., Sheppard, C., and Thiele, J. (2017). Improving
execution speed of models implemented in netlogo.
Journal of Artificial Societies and Social Simulation,
20(1).
Taghawi-Nejad, D., Tanin, R. H., Chanona, R. M. D. R.,
Carro, A., Farmer, J. D., Heinrich, T., Sabuco, J., and
Straka, M. J. (2017). Abce: A python library for eco-
nomic agent-based modeling. In International Con-
ference on Social Informatics, pages 17–30. Springer.
Taillandier, P., Gaudou, B., Grignard, A., Huynh, Q.-N.,
Marilleau, N., Caillou, P., Philippon, D., and Dro-
goul, A. (2019). Building, composing and experi-
menting complex spatial models with the gama plat-
form. GeoInformatica, 23(2):299–322.
Thiele, J. C. (2014). R marries netlogo: introduction to
the rnetlogo package. Journal of Statistical Software,
58(2):1–41.
Tisue, S. and Wilensky, U. (2004a). Netlogo: A simple en-
vironment for modeling complexity. In International
conference on complex systems, volume 21, pages 16–
21. Boston, MA.
Tisue, S. and Wilensky, U. (2004b). Netlogo: Design and
implementation of a multi-agent modeling environ-
ment. In Proceedings of agent, volume 2004, pages
7–9.
Vahdati, A. R. (2019). Agents.jl: agent-based modeling
framework in julia. Journal of Open Source Software,
4(42):1611.
Wilensky, U. (2019). Netlogo user manual.
Wilensky, U. (2020). Private communication.
SIMULTECH 2021 - 11th International Conference on Simulation and Modeling Methodologies, Technologies and Applications
206