[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.
==================================
- Systems Engineering (was Re: Open source? -> Need to read source to model?), (continued)
- Systems Engineering (was Re: Open source? -> Need to read source to model?), glen e. p. ropella, 2000/01/19
- talking good, Ginger Booth, 2000/01/19
- Re: talking good, glen e. p. ropella, 2000/01/19
- Re: talking good, Ginger Booth, 2000/01/20
- Re: talking good, Kathy and Ray La Belle, 2000/01/22
- Re: talking good, Bill Griffin, 2000/01/22
- Re: talking good, Ginger Booth, 2000/01/22
- Shameless plug (was Re: Systems Engineering), Ralf Stephan, 2000/01/20
- Re: Open source? -> Need to read source to model?, Marcus G. Daniels, 2000/01/18
- Re: Open source? -> Need to read source to model?, Alex Lancaster, 2000/01/19
Re: Open source? -> Need to read source to model?,
Miles Parker <=
Re: Open source? -> Need to read source to model?, James Odell, 2000/01/18