Artificial Agents
33
2.3 Agent-Based Modeling Frameworks
Over the years, various platforms have been released for agent-based model
(ABM) building, each using different programming languages with their own
characteristics. Xavier [206] and Railsback [153] provide a detailed comparison
between platforms by implementing similar models on them. A comparison of
frameworks is shown in Table 2.1.
TABLE 2.1: Comparison of agent-based modeling frameworks.
SWARM JADE
MASON RePast
FLAME
Software
methodology
Objective
C. Implemented as
a nested
class
structure
Uses
FIPA
protocols
Java.
Implemented
as
a
layered
structure
Java
C,
XML
notations
and MPI
for parallel
computing.
Based on
X-machine
foundation
Easy to use
GUI
Yes
Yes
Yes
Yes
Needs integration
with other
tools
Visualization 3D
3D
3D
2D
2D, 3D
Models executed in Serial/Parallel
Both.
Need
to
wrap Objective
C
commands
in
Java
for parallelization
Both.
Java concurrency
commands
Both.
Java concurrency
commands
Both.
Java
concurrency
commands
Both.
MPI
libraries
for message
exchange
Commonly
known
model
examples
Sugarscape,
various
disciplines
Virus
epidemics,
Sugarscape
Virus
epidemics,
Sugarscape,
traffic
simulation
Mostly
social
science
projects
Skin
grafting,
economic
models
Each of these platform provide modelers with various features. A detailed
analysis of frameworks is as follows,
SWARM. This toolkit allows researchers to build agents easily. Built on
object-oriented principles, SWARM uses Objective C++ programming
language to develop agents as objects with variables and methods. The
development involves using inheritance concepts, with new agent classes
33
2.3 Agent-Based Modeling Frameworks
Over the years, various platforms have been released for agent-based model
(ABM) building, each using different programming languages with their own
characteristics. Xavier [206] and Railsback [153] provide a detailed comparison
between platforms by implementing similar models on them. A comparison of
frameworks is shown in Table 2.1.
TABLE 2.1: Comparison of agent-based modeling frameworks.
SWARM JADE
MASON RePast
FLAME
Software
methodology
Objective
C. Implemented as
a nested
class
structure
Uses
FIPA
protocols
Java.
Implemented
as
a
layered
structure
Java
C,
XML
notations
and MPI
for parallel
computing.
Based on
X-machine
foundation
Easy to use
GUI
Yes
Yes
Yes
Yes
Needs integration
with other
tools
Visualization 3D
3D
3D
2D
2D, 3D
Models executed in Serial/Parallel
Both.
Need
to
wrap Objective
C
commands
in
Java
for parallelization
Both.
Java concurrency
commands
Both.
Java concurrency
commands
Both.
Java
concurrency
commands
Both.
MPI
libraries
for message
exchange
Commonly
known
model
examples
Sugarscape,
various
disciplines
Virus
epidemics,
Sugarscape
Virus
epidemics,
Sugarscape,
traffic
simulation
Mostly
social
science
projects
Skin
grafting,
economic
models
Each of these platform provide modelers with various features. A detailed
analysis of frameworks is as follows,
SWARM. This toolkit allows researchers to build agents easily. Built on
object-oriented principles, SWARM uses Objective C++ programming
language to develop agents as objects with variables and methods. The
development involves using inheritance concepts, with new agent classes
