January 2006
Mon Tue Wed Thu Fri Sat Sun
« Dec   Feb »

Day January 2, 2006

Notes on Repast.NET agent-based simulation

Recently I’ve been getting acquainted with the .NET version of Repast, an agent-based simulation (ABS) toolkit.  Repast has much in common with the older Swarm system, which Carl Lipo and I used to do much of our previous simulation work (e.g., Ingenta reference).  Repast provides a slightly higher-level and "complete" set of APIs for creating and managing ABS, and does so in a variety of "modern" languages (e.g., Java, Python, .NET C# and VB).  Not that ObjectiveC wasn’t interesting, but it’s lower level than really necessary for the type of work we’re doing:  in writing simulations, I really don’t need to worry about pointers and memory management. 

Given its relative youth, I was surprised how smoothly I was able to get started with Repast.NET inside Visual Studio.  Although the templates were designed for VS2003, and have not been updated or fixed for VS2005, it was relatively simple to take SugarScape and create a template project from it, even adding a unit testing subproject to help ensure the validity and correctness of the simulation.  Given the new capabilities of Visual Studio 2005 Team Edition, I used the VS-style unit testing framework, but one could just as easily use the nUnit framework and the TestDriven.NET plugin (and I’d likely do so for code I’d plan to release as open-source, given that the high priced Team Edition is unlikely to see much use in academic circles). 

In future posts, I’m going to examine what I consider to be the shortcomings of our previous simulation work, examine the theoretical and epistemological basis for doing serious social science with ABS, and discuss my near-term goals in rewriting a new simulation test bed for cultural transmission phenomena.  This is a bit different than my usual fare here on Extended Phenotype, but it’s time to get this work back underway.