swarm-modeling
[Top][All Lists]
Advanced

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

Re: Open source? -> Need to read source to model?


From: Miles Parker
Subject: Re: Open source? -> Need to read source to model?
Date: Tue, 18 Jan 2000 12:46:19 -0500

Well said. Having the power of abstraction does not release you from the 
obligation to understand what that absraction _represents_.

As Jim implies, I do think that one good model is the interaction of a strong 
programmer with a strong domain knowledgable person. But the role of a 
programmer in this situation should not be to just take what the domain person 
says they want done in broad outline, and interpret it. Instead, strong 
programmer/modellers should use their knowledge to ask the kind of questions 
that challenge and clarify the domain person's understanding, and the domain 
person [this is getting awkward!] should use their knowledge to challenge the 
assumptions and bring new ideas and insights to the programmer/modeller. The 
programmer should not go off into a dark room somewhere, come up with something 
that they think approaches the goals set, and hand it back as a fait accompli.

This is just the same as how it ideally works in the business world, as Jim 
said. Typically, in doing database/enterprise app development, it immeadiatly 
becomes clear that people do not really understand how their own business 
works. They have very fuzzy ideas about how data and processes relate to one 
another. The process of building and designing the software can often end up 
being tremendously valuable, just because it gets people to ask questions and 
think about things rigorously and carefully.

Wether you are the modeller, the programmer, the 'domain person' or whatever, 
it is your reponsibility to understand as much as you can about the model. This 
doesn't mean that you need to know all the jargon or techniques, but it does 
mean that you know something about the details. So for instance, a 
non-programmer should not be expected to know that the code uses such and such 
library, or that an algortihm is implemented in a particular way...but it would 
be really nice if they knew how a particular search or optimization works, how 
behavior progpogates through the system, etc. etc.. Failing this, it is the 
programmers job to give an abstracted view that doesn't leave out any important 
issues.

So, no, everyone doesn't have to be able to read source to model, but someone 
should, and that someone should be able and willing to communicate what they 
find to everyone else. That's why a community such as this one is so important, 
it can 'virtually' provide some of this kind of shared context and rigor.

-Miles



Miles T. Parker
Software Engineer
The Brookings Institution  1775 Mass. Ave. NW  Washington, DC  20036
http://www.brook.edu/es/dynamics/models/ascape
mailto:address@hidden  voice 202.797.6136  fax 202.797.6319

>>> Robert <address@hidden> 01/18/00 08:19AM >>>
Not caring about the electronics in a car (or source code) is fine, but you are
still responsible for your electronics working properly.  I was a police 
officer for
several years and when I was given excuses like "but my speedometer said...," 
(and
a  myriad of others...no wonder I became a modeler :-)  it usually prompted me 
into
the "the proper operation of your vehicle is your responsibility"  lecture.  In 
the
same way, the modeler or scientist is responsible for code they use, even if 
deeply
embedded in a package.  You may choose not to browse swarm code at some level 
and
trust that it was written satisfactorily for your particular needs...but you are
still responsible for the results.  Who of us wants to hear an explaination of 
an
error start with "but swarm was supposed to...."

The bottom line is that I also want to encourage nonprogrammers to use swarm, 
but
not if it means algorithmic ignorance.   Let's spare them the gory 
implementation
details (this is at least where I draw my personal "trust" line with swarm).  
But
let's not spare the understanding of the algorithms.  With every new level of
abstraction, we get farther from understanding what our models are really 
modeling.

Robert


Pietro Terna wrote:

>         sure, it is a car, but in my car I don't care about electronic 
> components
> and so on. Using Swarm I had to read the source code in a very few number
> of cases, mainly to cope with internal errors.
>
>         I agree that it is very useful to have the source, also to improve our
> ability in the art of programming. But if we want to have more and more
> social scientists using Swarm and agent based models, we have to facilitate
> their efforts.
>



                  ==================================
   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.
                  ==================================


                  ==================================
   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]