Environments for Creating PCT-based social-economic agents

[Martin Taylor 2010.03.06.11.45]

[Martin Taylor 2010.03.05.14.54]


What is breve?

breve is a free simulation environment designed for multi-agent
simulation. breve allows users to define the behaviors of autonomous
agents in a continuous 3D world, then observe how they interact. breve
includes support for a rich visualization engine, realistic physical
simulation and an easy-to-use scripting language.

Starting in breve 2.6, breve simulations can be written in breve’s
custom “steve”
language, or with the popular open-source Python language. Both
of these languages, along with their strengths and weaknesses are
described later in this documentation.

breve can be used as a tool to explore any type of simulated
world.
breve has been used for a wide variety of simulation applications:
simulated virtual creatures, artificial ecosystems, simulations of
molecular biology, visualization and much more. breve facilitates the
construction of complex agent-based simulations by automatically
handling agent communication, representation in 3D space, graphical
rendering, physical simulation and a number of other features which are
useful to agent-based simulations.


I’ve had a little look at breve demos, documentation, and forums. It
looks mostly very nice, but it is a sole-author project that hasn’t
been updated for a couple of years. The author not long ago said that
further development was ongoing, and a version with new features was in
the works, so it’s worth keeping an euye on. Although it is
multiplatform, the Mac interface is nicer than the others. One possible
gotcha for control experiments is that I saw no interface for capturing
mouse movements, in other words for involving the human with the
simulated agents. I’m sure one could be written, but I’m not sure how
platform-independent it would be.

This morning I looked at
and saw two systems that looked as though they might possibly be
candidates (available for Windows, Linux and Mac, free and open source,
with 3D representation). I haven’t investigated either of them further,
and if anyone knows anything about either (or any other), please let us
know. The ones I noted were SeSaM and
Repast . Repast has a visual
programming mode that might let one diagram control loops. Here’s what the home page says about SeSaM:

i.gif

···

http://en.wikipedia.org/wiki/Comparison_of_agent-based_modeling_softwarehttp://www.simsesam.de/http://repast.sourceforge.net/

Multi-Agent

Simulation Environment
SeSAm
(Shell
for Simulated Agent Systems)
provides a generic environment for modelling and experimenting with
agent-based simulation. We specially focused on providing a tool for
the easy construction of complex models, which include dynamic interdependecies or emergent
behaviour.

SeSAm
provides:

  • Easy visual
    agent modelling,

  • Flexible
    environment and situation definition,

  • The whole
    power of a programming language,

  • Integrated
    graphical simulation analysis ,

  • Distribution
    of simulation runs in your LAN ,

  • and many
    further features…
    SeSAm
    is usefull for simulations in many application domains, such as:

  • Logistics
    (coordination, storage layout optimization, software test,…),

  • Production
    (factory, optimized plans for different requirements,…)

  • Traffic
    (avoidance of traffic jams, traffic light control, route choice…),

  • Passenger Flow
    (market improvement, evacuation of buildings)

  • Health Care
    (optimization of clinical processes, reduction of costs)

  • Biology
    (understanding of insect behaviour, testing theories)

  • and many other
    domains…
    SeSAm
    is a tool for so called agent based simulation. Agents are active
    entities of the simulation and their behaviour is implemented with
    activity diagrams. Based on an extensive number of primitive
    components, a user is able to design a simulation graphically without
    knowing the syntax of a traditional programming language.

The
model specification is executable in the same environment and the
dynamics of this simulation may be observed. As there are freely
configurable instruments for gathering data and scripting options for
constructing simulation experiments, SeSAm is a highly valuable tool
for MAS simulations especially for complex models with flexible agent
behaviour and interactions.

Repast Simphony

free and open
source

  • Fluid model component development using any mixture of Java, Groovy, and flowcharts
    in each project;
  • A pure Java point-and-click
    model execution environment
    that includes built-in results logging
    and graphing tools as well as automated connections to a variety of
    optional external tools including the R statistics environment, *ORA and Pajek
    network analysis plugins, A live agent SQL query tool plugin, the VisAD
    scientific visualization package, the Weka data mining
    platform, many popular spreadsheets, the MATLAB computational mathematics
    environment, and the iReport
    visual report designer;
  • An extremely flexible hierarchically nested definition of space
    including the ability to do point-and-click and modeling and
    visualization of 2D environments; 3D environments; networks including
    full integration with the JUNG
    network modeling library as well as Microsoft
    Excel
    spreadsheets and UCINET
    DL file importing; and geographical spaces including 2D and 3D
    Geographical Information Systems (GIS) support;
  • A range of data storage “freeze dryers” for model check pointing
    and restoration including XML file storage, text file storage, and
    database storage;
  • A fully concurrent multithreaded discrete event scheduler;
  • Libraries for genetic algorithms, neural networks, regression,
    random number generation, and specialized mathematics;
  • An automated Monte Carlo simulation framework which supports
    multiple modes of model results optimization;
  • Built-in tools for integrating external models;
  • Distributed computing with Terracotta;
  • Full object-orientation;
  • Optional end-to-end XML simulation
  • A point-and-click model deployment system; and
  • Availability on virtually all modern personal computing platforms
    including Windows, Mac OS, and Linux.

For what it’s worth, RePast is the other agent modeling system
I have been considering. It does appear more capable than NetLogo. But I’ve
been a member of both listservs for a while now, and the NetLogo one seems more
devoted to the actual model building while the Repast one has more discussion
about technical programming issues. My programming skills are largely
self-taught, and some of the discussion is frankly over my head. So perhaps
this has needlessly scared me away.

Frank

[mailto:CSGNET@LISTSERV.ILLINOIS.EDU] On Behalf Of Martin Taylor

i.gif

···

From: Control Systems Group Network (CSGnet)
Sent: Saturday, March 06, 2010 10:45 AM
To: CSGNET@LISTSERV.ILLINOIS.EDU
Subject: Re: [CSGNET] Environments for Creating PCT-based
social-economic agents

[Martin Taylor 2010.03.06.11.45]

[Martin Taylor 2010.03.05.14.54]

What is breve?

breve is a free simulation environment designed for
multi-agent simulation. breve allows users to define the behaviors of
autonomous agents in a continuous 3D world, then observe how they interact.
breve includes support for a rich visualization engine, realistic physical
simulation and an easy-to-use scripting language.

Starting in breve 2.6, breve simulations can be written in
breve’s custom “steve”
language, or with the popular open-source Python language. Both of these
languages, along with their strengths and weaknesses are described later in
this documentation.

breve can be used as a tool to explore any type of simulated
world. breve has been used for a wide variety of simulation applications:
simulated virtual creatures, artificial ecosystems, simulations of molecular
biology, visualization and much more. breve facilitates the construction of
complex agent-based simulations by automatically handling agent communication,
representation in 3D space, graphical rendering, physical simulation and a
number of other features which are useful to agent-based simulations.


I’ve had a little look at breve demos, documentation, and
forums. It looks mostly very nice, but it is a sole-author project that hasn’t
been updated for a couple of years. The author not long ago said that further
development was ongoing, and a version with new features was in the works, so
it’s worth keeping an euye on. Although it is multiplatform, the Mac interface
is nicer than the others. One possible gotcha for control experiments is that I
saw no interface for capturing mouse movements, in other words for involving
the human with the simulated agents. I’m sure one could be written, but I’m not
sure how platform-independent it would be.

This morning I looked at http://en.wikipedia.org/wiki/Comparison_of_agent-based_modeling_software
and saw two systems that looked as though they might possibly be candidates
(available for Windows, Linux and Mac, free and open source, with 3D
representation). I haven’t investigated either of them further, and if anyone
knows anything about either (or any other), please let us know. The ones I
noted were SeSaM http://www.simsesam.de/
and Repast http://repast.sourceforge.net/.
Repast has a visual programming mode that might let one diagram control loops.

Here’s what the home page says about SeSaM:


Multi-Agent Simulation

Environment

SeSAm (Shell
for Simulated Agent Systems) provides a generic environment for
modelling and experimenting with agent-based simulation. We specially focused
on providing a tool for the easy construction of complex models, which include dynamic
interdependecies or emergent behaviour.

SeSAm provides:

  •  Easy
    

    visual agent modelling,

  •  Flexible
    

    environment and situation definition,

  •  The
    

    whole power of a programming language,

  •  Integrated
    

    graphical simulation analysis ,

  •  Distribution
    

    of simulation runs in your LAN ,

  •  and
    

    many further features…

SeSAm is usefull for
simulations in many application domains, such as:

  •  Logistics
    

    (coordination, storage layout optimization, software test,…),

  •  Production
    

    (factory, optimized plans for different requirements,…)

  •  Traffic
    

    (avoidance of traffic jams, traffic light control, route choice…),

  •  Passenger
    

    Flow (market improvement, evacuation of buildings)

  •  Health
    

    Care (optimization of clinical processes, reduction of costs)

  •  Biology
    

    (understanding of insect behaviour, testing theories)

  •  and
    

    many other domains…

SeSAm is a tool for so called
agent based simulation. Agents are active entities of the simulation and their
behaviour is implemented with activity diagrams. Based on an extensive number
of primitive components, a user is able to design a simulation graphically
without knowing the syntax of a traditional programming language.

The model specification is
executable in the same environment and the dynamics of this simulation may be
observed. As there are freely configurable instruments for gathering data and
scripting options for constructing simulation experiments, SeSAm is a highly
valuable tool for MAS simulations especially for complex models with flexible
agent behaviour and interactions.

---------end SeSaM----------

and here’s what the home page says about Repast


Repast Simphony

Repast Simphony is a free and open source
agent-based modeling toolkit that simplifies model creation and use. Repast
Simphony offers users a rich variety of features including the following:

  •  Fluid model component development using any
    

    mixture of Java, Groovy, and flowcharts
    in each project;

  • A pure Java point-and-click
    model execution environment
    that includes built-in results logging and
    graphing tools as well as automated connections to a variety of optional
    external tools including the R
    statistics environment
    , *ORA and Pajek network
    analysis plugins, A live agent SQL
    query tool plugin, the VisAD scientific
    visualization package, the Weka
    data mining platform, many popular spreadsheets, the MATLAB computational mathematics
    environment, and the iReport visual
    report designer;

  •  An extremely flexible hierarchically nested
    

    definition of space including the ability to do point-and-click and
    modeling and visualization of 2D environments; 3D environments; networks
    including full integration with the JUNG
    network modeling library as well as Microsoft
    Excel
    spreadsheets and UCINET
    DL file importing; and geographical spaces including 2D and 3D
    Geographical Information Systems (GIS) support;

  •  A range of data storage "freeze dryers"
    

    for model check pointing and restoration including XML file storage, text
    file storage, and database storage;

  •  A fully concurrent multithreaded discrete event
    

    scheduler;

  •  Libraries for genetic algorithms, neural
    

    networks, regression, random number generation, and specialized
    mathematics;

  •  An automated Monte Carlo simulation framework
    

    which supports multiple modes of model results optimization;

  • Built-in tools for integrating external models;

  • Distributed computing with Terracotta;

  • Full object-orientation;

  • Optional end-to-end XML simulation

  • A point-and-click model deployment system; and

  •  Availability on virtually all modern personal
    

    computing platforms including Windows, Mac OS, and Linux.

-------end Repast--------

Maybe one or other of OpenLaszlo, breve, SeSaM or Repast could provide a useful
multiplatform development system for PCT experiments and simulations. Maybe
not, but it might be worth considering.

Any other candidates?

Martin