7.4: Professional Agent-based Simulation Development Environments

To finish this chapter, a couple of agent-based simulation development environments shall be described. This list is neither complete nor is it exclusive. As agent-based modeling is a topic of ongoing research, many universities continue to improve existing kits or develop new ones. In particular these research results are available at no cost as open source software. There are also some very good commercial solutions available, and it is often worth it to ask for academic licenses. While this introduction does not require any of these additionally provided functions, advanced professional development of modeling simulations requires more thorough research into the different types of commercially available solutions. The list provided herein is supposed to be a starting point. It is based on the 2006 comparison report by Railsback et al.8 Students looking for a supportive development environment should always do some literature research, as new reviews are published on a more or less regular basis in workshop proceedings as well as in journals, many of them freely available on the web as well. Using an evaluation scheme like proposed in the referenced paper is highly recommended.

The criteria used by Railsback et al. evaluate how easy it is to implement and run an agent-based simulation system, in particular for researchers and students with minimal programming experience. Some of the guiding questions the researchers asked were:

How easy is it to set up and execute the model?

How easy is it to plot results and identify and display key parameters?

Can the model be stopped at critical points, reconfigured, and started again?

Can the model easily import initialization data from other sources, such as spreadsheet or database programs?

Can the model easily export the results to such programs?

Does the development kit help the researcher to deal with complexity?

Are all concepts identified in the chapter earlier supported?

What about the execution speed (in particular for the computers you have at hand)?

How well is debugging supported?

Which computer platforms and programming languages are supported?

It is a worthwhile exercise to come up with your own evaluation catalogue and apply it to select the best agent-based modeling simulation programs for your advanced project. The Tablebelow shows some of the most popular agent-based modeling simulation programs.

AnyLogic is a commercial development environment that offers very reasonable academic support. The main reason it is mentioned here is that AnyLogic actually combines system dynamics, discrete event simulation, and agent-based simulation into one environment. All three paradigms are supported and can be compared or merged into one model. Object are predefined and can be used drag-and-drop style to get used to the kit, but later all objects can be modified and new objects can be defined.

Brahms is a set of software tools to develop and simulate multi-agent models of human and machine behavior. Brahms was originally developed to analyze or design human organizations and work processes. Brahms is a full-fledged multi-agent, rule-based, activity programming language. It has similarities to belief-desire-and-intention (BDI) architectures and other agent-oriented languages, but is based on a theory of work practice and situated cognition.

Janus is a professional multiagent simulation platform. It is in particular useful for simulating the interaction of agents (social or biological) and their emergent collective behavior. Janus is able to run agent architectures, organizational models, and holarchies and holon-based models under one umbrella. It provides support developing, running, displaying and monitoring multi-agent based applications. Janus-based applications can be distributed across a network.

MASON is a fast discrete-event multi-agent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.

NetLogo is a multi-agent programmable modeling environment. It is used by tens of thousands of students, teachers and researchers worldwide. It also powers HubNet participatory simulations. It is authored by Uri Wilensky and developed at the CCL. You can download it free of charge. It supports its own very easy to learn simulation language and a fully integrated evaluation environment.

Repast is actually a suite, i.e., is a family of advanced, free, and open source agent-based modeling and simulation platforms that have collectively been under continuous development for over 10 years. Of particular interest to readers of this book will be Repast Simphonie, which is a richly interactive and easy to learn Java-based modeling system that is designed for use on workstations and small computing clusters.

StarLogo is a programmable modeling environment for exploring the workings of decentralized systems, i.e. systems that are organized without an organizer, coordinated without a coordinator. With StarLogo, it is possible to model and gaining insights into many real-life phenomena, such as bird flocks, traffic jams, ant colonies, and market economies. It was particularly designed for educators.

Swarm is a very professional development environment that supports many platforms and languages. The website is actually a Wiki that allows users to go to many different places to download a variety of papers, programs, add-ons, etc. It is a suite comprising support of a general language and toolbox for agents, intended for widespread use across scientific domains.

Within in this chapter we discussed agent-based modeling as a modeling paradigm support to build systems from the bottom up. The approach allows the user to define the acting components as interrelated agents that perceive, make sense, plan, and execute actions. They communicate with each other and act socially. They have memory and can learn and adapt to new tasks and a changing environment. They can be used to model mutual support as well as competition. But agents are not magic. When implemented, they are computer programs as all other simulation systems. They are just another metaphor to be used to address a problem from certain viewpoints. They deserve a place in the spectrum of M&S paradigms, but as with all other paradigms, they represent just one of several viewpoints. As the German science philosopher Karl Popper stated in Objective Knowledge: An Evolutionary Approach (1972), "Whenever a theory appears to you as the only possible one, take this as a sign that you have neither understood the theory nor the problem which it was intended to solve."