Upload
stella-mcdowell
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
ABM: Frameworks
Dr Andy Evans
ABM FrameworksWhat are they?
Pieces of software to help people build ABMs.Often offer the functions outlined.
Wide range of tools:Pre-written functions.Entire graphical environment.Somewhere in the middle
Why use them?
For non-programmers:Graphical “point-and-click” model development.Easier than having to learn a programming language.
For programmers:No need to write ‘external’ functionality (e.g. drawing graphs, scheduling events, creating displays).
Can concentrate on model logic.Save time (?)
Commonly Used Platforms
Netlogo: http://ccl.northwestern.edu/netlogo/Repast: http://repast.sourceforge.net/MASON: http://cs.gmu.edu/~eclab/projects/mason/
Ascape: http://ascape.sourceforge.net/ABLE: http://www.research.ibm.com/able/Modelling4All: http://www.modelling4all.org/SecondLife: http://secondlife.com/Agent Analyst: http://www.spatial.redlands.edu/agentanalyst/
Recursive Porous Agent Simulation Toolkit (RePast)
Argonne National Laboratory.Based on Swarm.Includes a Logo-based language, ReLogo and graphical programming.Imports NetLogo.Largely Java programmed.Includes 3D GIS using GeoTools.Two main versions:
Simphony (Java etc.)RePast for HPC (C++) (MPI based)
Based on Eclipse.
Functionality
Flexible scheduling including synchronised and event-based scheduling.
Randomisation toolkit.
Monte Carlo simulation framework.
Different spaces and boundaries, including multiple spaces at once.
Functionality
Links with R, Weka, GRASS, Pajek.
Libraries for genetic algorithms, neural networks, regression, random number generation, and specialized mathematics:
http://repast.sourceforge.net/docs/RepastSimphonyFAQ.pdf
Exports model shapefiles.
Exports applications.
Example Predictive Model: Burglary Simulation
GIS/ABM Crime ModelBurglar agents situated in an environment that mimics LeedsAgents use roads, railways and public transport to travel around the city burgling real buildings
Why not use a framework?
Overheads: sometimes there are better ways of doing the same job if that’s all you have to do. For example, RePast’s watch timing is quite heavy but makes sense as a general framework.
Constraints: sometimes it is hard to squeeze a model into a Framework’s way of doing things, let alone then move it to a different framework.