swarm-modeling
[Top][All Lists]
Advanced

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

Re: [Swarm-Modelling] newbie question


From: Paul Johnson
Subject: Re: [Swarm-Modelling] newbie question
Date: Thu, 29 Jan 2004 11:16:47 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031018

Marcus G. Daniels wrote:

alex dinovitser wrote:

It appears to me that development in the project has
slowed down if not stalled over the past 3 years. Is this true? if so, why?
Quite correct! The reason is no funding. The reason for no funding is debatable, of course, but my take is that many people in serious scientific circles feel that agent based modelling is a dodgy scientific activity.

I think there is truth in that argument, but the academic view is changing quite a bit.

I think there is a more persuasive explanation for the funding issue. Funding agencies think Swarm is completed. It runs, they can see Heatbugs, therefore people who have money don't see the point of spending it. The people making these decisions are not programmers and they really don't want to understand the point that there is work still to be done. And, I know from submitting funding applications, that the funding agency does not want to pay for Swarm Core Development as a part of a project on a specific substantive topic. Its a Catch-22, then. You can't do the substantive project because Swarm does not have a fully functional feature X, and you can't get funding for feature X because it already exists.

I'm trying to chart out my next big research project, so perhaps I have been meditating on the is problem too much. My opinion is that, if you are going to seek funding for a big, complicated free Software project, you have basically 2 options.

One way is to ignore the project altogether until somebody comes along and says "We'll pay for everything from start to finish." That would not advance the modeling agenda, of course. Nothing would ever happen. Its a really big problem that "grand framework" proposals seem to raise about 1/3 of the money they need, so they get part of the way there, but not all the way. Then they are left with the same problem as the people who build highways: "We've spent all of our money and only half of the road is done, so give us some more." It works for roads, but maybe not for academic research software.

The other option is to design the project with completely separate, clearly defined modules. This requires more foresight than I actually have, but I know someone who has succeeded in this way. Initially build only the absolute minimum thing. Then go back every year to say "look, we did X, now pay for Y", and so forth. The key, I gather from observing the debates among funding agency types, is to make it absolutely clear what is obtained for each increment of money. Suppose Swarm team had initially built just the SwarmObject and the activity library. Some console program would run and print out results. Think of the first bug tutorial exercise. Then you would say to a funding agency, please pay us X dollars to create a graphical interface for people who like to point and click. Or pay us to add environment classes where agents can live. Or pay for the creation of random number generators. Or pay for user documentation.

I've seen this strategy work in at least one case, but it is tricky because the designer has to be careful to make sure that each step is worthwhile on its own. And, if you stop to think about the whole idea underlying agent-based modeling, we are almost never in the right mindset. We are not "top-down", "grand strategy" sorts of people. Rather, we individual, uncoordinated agents hoping that lots of little efforts will accumulate into an emergent property. To an extent, this works. Bill Northcott did work to update Swarm to work with the newer Automake and Autoconf that I could never have done myself. I can fiddle around with updates to suit changes in GCC or add methods here or there, but I'm not capable of understanding/maintaining the Activity library. If some other volunteer can do so, then we are in good shape. As long as there is no part of the project that is too forbidding for a volunteer, the "many hands make light work" philosophy will work. However, when you need a big-concentrated effort to create a set of concepts and build them into a completely new code base, then you are in trouble. You need funds to pay someone who is a gifted professional programmer who can actually turn the gears to take an academic idea and bring it to life. There are many people working on MAs or PhDs who are creating Swarm things, some of which they offer on their personal web sites or contribute to the ftp site, but only rarely are people willing to make that last, challenging step of cleaning up their code and formalizing it into a format so that it can be added to the Swarm distribution itself.

Swarm reflected a paradigm-shifting set of concepts that we did not (do not) understand fully. The original Swarm idea was so big and paradigm-changing that I doubt anybody could have had the foresight to carefully structure the research agenda in order to cultivate funding. In fact, if you go back and look at some of the initial design and strategy, or comments about Swarm, it seems to be designed in the opposite direction. Way back when, say 1996 or 1997, Swarm had the "giant picture" framework in place with a lot of methods that were just stubs and the source code said "not implemented." It is very difficult to explain to a funding agency that you want money to fill in the "not implemented" part. Its even more difficult to explain why you want money to replace a "working prototype" with a newer, better thing.

I hope this observation does not offend or cause frustration among the people who have worked so incredibly hard on Swarm itself. I do not intend to denigrate either the grand vision of the project or the hard work of many programmers along the way.
--
Paul E. Johnson                       email: address@hidden
Dept. of Political Science            http://lark.cc.ku.edu/~pauljohn
1541 Lilac Lane, Rm 504 University of Kansas Office: (785) 864-9086
Lawrence, Kansas 66044-3177           FAX: (785) 864-5700




reply via email to

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