Study and Comparison of Four Agent-Based Simulation Tools: Repast, SeSAm, Netlogo and GAMA

Several simulation tools have been proposed in the literature and many surveys have been realized on this. The objective of this paper is not to give a survey but to compare four principal tools which are Repast, SeSAm, NetLogo and Gama according to some evaluation criteria that I consider important when designing Adaptive Multi-Agent Systems.


INTRODUCTION
There is some ambiguity concerning the terms "platform" and "toolkit (tool)" but generally they have been used interchangeably. In this paper, I also use these terms interchangeably. Several surveys have been done on agent simulation tools. The purpose of my work is not to present a state of the art about agent based simulation tools but to compare four principal tools according to some criteria defined later in this paper. The objective is to select the more appropriate tool to Adaptive Muli-Agent Systems (AMAS) [1] [2]. The proposed criteria are not determinist for any intended use of the simulation tool. These criteria was defined according to some characteritics that I find necessary to build simulations for Adaptive Multi-Agent Systems [3].
In this paper, I beguin by presenting the different criteria to be used. Then I describe each tool according to these criteria and Finally I give a synthesis about the comparison of these tools.

CRITERIA OF COMPARISON
In this section, I describe eight criteria of comparison (table 1). Some of these criteria are inspired from [4] and the others are proposed according to my objective from realising simulations. For each criterion, I define a set of values which can assigned to this criterion. For each value, I give a rate according to my objective from verifying the criterion. For example, if I consider a criterion C which can has as values: c1 and c2. If c1 interests me more than c2, I assign a more important rate to c1 than c2. In the following, I use four rates which are: This criterion permits to know if I can design and orchestrate simulation experiments via diagrams. It is an interesting criterion because the possibility of using diagrams (UML like) to describe the system to be simulated will further facilitate the task of the designer using the simulation tool.

GENERAL DESCRIPTION OF REPAST, SESAM, NETLOGO AND GAMA
In this section, I give a general description of Repast, Sesam, Netlogo and Gama. For each tool, I describe the different elements of comparison proposed in the previous section.
epast (http://repast.sourceforge.net/repast\_3) was developed at the University of Chicago's Social Science Research Computing Lab specifically for creating agent-based simulations in social sciences. It borrows many concepts from the Swarm which was the first re-usable software tool created for agent based modelling and simulation. Swarm was developed at the Santa Fe Institute in 1994 (for more information, see http://www.swarm.org) .
Repast simulations typically have at least two classes: -Agent class: describes the behaviour of the agents.
-Model class: coordinates the set-up and running of the model. s  The main focus is to enable to construct models by visual programming. Sesam was developed at the University of Wurzburg and applied in several projects in different application domains.
The main entities in a Sesam model are: -Agents: they consist of a body containing body variables and have a behaviour described by activity diagrams.
-Resources: they are like agents, except that they don't have a behaviour and they should be used for passive entities in the model.
-The World: it is a kind of agent class with a special role in interaction: it forms the basis for the representation of all environmental dynamics and structure that can not be captured in agents and resources.sss Table 3 describes Sesam according to the different defined elements of comparison.

Availibility Sesam is free and open source. 100
Project Activity Sesam is used by many researches and it is used in education. 100 Complexity Level Sesam supports visual programming. It has graphical-based programming capabilities which are much more simple to learn and use than traditional programming languages. Sesam provides several documentations, tutorials ans demonstration simulation models and tutorials. It has also project wikis as part of user support.

100
Generality Sesam is a general purpose agent based platform. It is not geared toward special domains. It is also oriented towards teaching computer simulation.

100
Possibility of Using Diagrams Sesam provides the possibility of describing the agent behaviour using an activity diagram. Each activity is then defined using a visual programming. A list of configurable functions allows to link actions to nodes and conditions to transitions between nodes. The design of agents becomes very quick and intuitive.

Dynamic Tuning
Sesam permits to realize experimentations which means the possibility of launching many simulation simultaneously and modifying the value of one or more parameters. It is possible to modify the simulation parameters during runtime. 100

Measurement
Sesam has an analysis editor which allows to create an analyser that monitors the simulation. The simulation results can be displayed as graphs or stored in a file in tabular form.

100
Agents Type Sesam enables the simulation of both situated and communicating agents. 100 etLogo (http://ccl.northwestern.edu/netlogo/) was first created in 1999 by Uri Wilensky at the Center for Connected Learning and Computer-Based Modeling, then at Tufts University in the Boston area. Netlogo is a multi-agent programming language and modelling environment for simulating natural and social phenomena.
-Patches: objects in turtles environment. Project Activity Netlogo is used by thousands of students, teachers and researchers worldwide. 100

S N
Complexity Level Netlogo supports programming in Logo Dialects extended to support agents. It is built-in graphical interfaces and comprehensive documentation. In spite of Repast, Netlogo has extensive documentation, tutorials and a models library which is a large collection of pre-written simulations that can be used and modified.
50 Generality Netlogo was intended as an educational tool. It helps beginning users getting started authoring models. Netlogo has a primary specialization towards the social and natural sciences. -Environment: contains definitions of environments. Gama supports three types of topologies for environments: continuous, grid and graph.
-Experiment: defines experiments to run. Project Activity Compared with the tools presented above, it is somewhat less used by other researchers. Gama provide several documentation and demonstration simulation models. Gama provides also video presentations and many tutorials.

100
Complexity Level Gama provides a complete modeling language, GAML, for modeling agents and environments. It is a language simple to use. Gama provides several documentations, tutorials ans demonstration simulation models. It has also project wikis as part of user support.

50
Generality Gama is a generic platform which permits the simulation of many different systems.

100
Possibility of Using Diagrams Gama does not enables the description of the agent behaviour via diagrams. But, it permits to define in graphical mode a simulation as a whole with the environment, entities, etc. Agents Type Gama supports communicating agents. 100

SYNTHESIS
According to this comparison (figure 1), Sesam looks as an excellent tool to simulate Adaptive Multi-Agent Systems. It is a free and simple tool which enables an easily implementation of the agents. In Sesam, the agent behaviour is implemented as a set of activities and transitions between these activities and it provides a visual programming which facilitates the addition of new plug-ins to add new functionalities. Sesam enables the implementation of situated and communicating agents (other tools as Netlogo and Repast permit only the implementation of one category of agents) and it offers tools to analyse a simulation. An other important characteristic of Sesam is that it is possible to modify the data values of the agents, of the environment and of the resources during the simulation. It is a very important characteristic in our sens because it enables the designer to interact with the simulation in order to converge the behaviour of the system to the functional adequacy. Sesam provides a tool for the easy construction of complex models, which include dynamic interdependencies or emergent behaviour.