swarm-modeling
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ABM/Toolkit futures [was: Swarm futures (was Re: GNUstep and MacOS X Por


From: Darren Schreiber
Subject: ABM/Toolkit futures [was: Swarm futures (was Re: GNUstep and MacOS X Port Effort)]
Date: Fri, 4 Oct 2002 09:11:00 -0700

[I am cross posting this to swarm-modelling to alert the modeling only folks that an important discussion on Swarm's future (especially as it relates to modelling) is taking place on the swarm-support list, but I suggest we leave the discussion on swarm-support]

It has been a while since I have chimed in on the Swarm list. But, I have been doing a lot of thinking in the past year or so about what I would want from an agent-based modeling toolkit. My two main concerns now are teaching and research.

For teaching, the toolkit should be simple to install. The ratio of postings on this list about installation problems versus usage problems has always been high. I think there is a positive aspect which means that once installed, people can be productive with Swarm. But, it is the barriers of installation that I know can be daunting. Now ease of installation is important for my research, but I only have to deal with installing it a few times myself while I expect to have to deal with an entire classrooms worth of installation problems as an instructor.

For teaching, the toolkit should be modeler friendly/very high level. I love the fact that I don't have to worry about linked lists or other low level programming concerns in Swarm. I know that there have been plans afoot to make Swarm tools that are even higher level in abstraction so that the time from theory to model is minimized. Having higher level tools that can routinize the topology of agent-interaction, the creation and management of agents, the input and output of data, would also help move our community towards standard ways of doing basic things. Of course, the modeler should be able to make deviations from standards when theoretically motivated reasons justify it, but having a standard way of solving standard problems makes every model transparent. Plus, this gives tremendous leverage to beginning users who can learn by simply seeing how the basic units are combined to create new models.

For research, I would contend that the higher level of abstraction would be a great boon for Swarm. Tools like Starlogo are great because you can do a simple proof of concept in a very short time. If Swarm had a level of tools that a user could take to prototype a model very quickly using many standardized components, I believe that we would all be more productive. I fantasize about a GUI where I drag some basic decision making algorithms into my agent icon and then place my agent icon into one of a number of interaction topologies, set some parameters with slider bars and then watch the model run. Because it is Swarm based, I can later go to the core of any of the many modules and make adjustments that fit my particular theoretic constraints. And, when I publish, my full description of the model would take very little space. And, when some curious reader wants to replicate my model, they can build it themselves in a matter of minutes.

For research, I would also contend that the creation of a model validation toolkit should be high on our list. At the Agent-Based Modeling conference at Lake Arrowhead in April, I presented a paper that organized more than a dozen validation tests from the engineering literature into four categories: Theory-Model tests, Model-Model tests, Model-Phenomena tests, and Theory-Model-Phenomena tests. At the conference I argued that a well designed toolkit could automate many of these tests and make the scope of validity for models more transparent. For instance, imagine tools that would automatically sweep the parameter space in an easily specified manner and report results in a standard way. Or, a set of docking tools that would put two models through a standard set of paces and compare their output.

In political science, model validation (as phrased in the question "Why should I believe anything you say about your model?") is very important question and I believe a major hurdle for the method and for the modeler wishing to advance in the field. A high level toolkit with many standard components could make the development of a standard set of validation tools a very simple exercise.

Agent-based modeling (and Swarm in particular) has been around long enough that we could identify some standard "best practices" about how to model. Many of the core components of models that I have seen are extremely similar. Swarm already has substantial advantages in standardization over roll-your-own models. When I was learning Swarm, I benefited tremendously from the fact that all models had a Main, Observer, Model, Agent architecture. In later years, some started using a Parameters object to manage the sweeping of parameters. I would propose Input, Output, and Topology as other fundamental components.

I would hope that proposing standards is not taken as a desire to impose one vision on modelers, but as a simple starting point to make teaching and research substantially easier. I would still hope that Swarm would retain the power that comes from being able to make low level adjustments when justified by the context.

        Darren






                 ==================================
  Swarm-Modelling is for discussion of Simulation and Modelling techniques
  esp. using Swarm.  For list administration needs (esp. [un]subscribing),
  please send a message to <address@hidden> with "help" in the
  body of the message.
                 ==================================


reply via email to

[Prev in Thread] Current Thread [Next in Thread]