Organization: The American University
Newsgroups: bit.listserv.csg-l
Date:         Fri, 11 Sep 1992 09:24:57 EDT
From:         HARNDEN@AMERICAN.EDU
Subject:      Re: Barry Richard and STELLA
              10 Sep 1992 16:25:55 -0500 from <g-cziko@UIUC.EDU>

i believe it's actually barry richmond.
he's a system dynamics modeler/programmer. i'm not sure if he came
out of the MIT group or not. as to particular specialty, i really
couldn't say. he doesn't seem to be referenced in any of my system
dynamics texts. what i can point out is that a lot of system dynamics
folks (myself included), while they may have particular areas of concern
and might therefore do a lot of publishing on a core topic (population
studies, economics, urban studies, ecology, etc.), their paradigm causes
them to see the world in terms of systems whose structures are essentially
similar. the modeling method lends itself to viewing apparently different
phenomena as fundamentally related. feedback is feedback, wherever it shows
up.
as for the 'circular connections' error, it's a classic opening mistake.
here's the canonical system dynamics structure (notice that it's essentially
the same as what i showed before):

  source-------valve-------->level----------valve--------->sink
                /\                           /\
                                            
                                            
                                            
             rate of                     rate of
            increase<------------------>decrease

in which the only material flow is that into and out of the level variable.
the rate of flow is controlled by equations which must, in some way, take into
account information about that level. often, there is a pretty circuitous
path, entailing many transformations and inclusion of extra variables.
your 'circular' error arises from violating one of a very few basic rules
of system building. i don't have forrester's "principles of systems" sitting
at my desk right now, but here are three off the top that should help:
1) as just mentioned... any rate that controls flow for a level must
   in some way receive information about that level. this is the fundamental
   assumption of feedback.
2) no rate can control another rate except through its action on a level.
   this one can actually be physically violated both in dynamo and stella,
   and so requires a little care on the modeler's part. one of the skills
   of system dynamics modeling is determining what element of a system to
   actually quantify and call a level. if you can't build the system
   without violating this structural rule, then you've got a clue that
   perhaps you should rethink your approach toward its representation.
3) (here it is...) structural loops cannot be built that would result in
   simultaneously dependent equations. remember that the method involves
   integration in time by intervals. there *is* a calculation order.
   loops must involve something that will delay the information flow.
   instantaneous infinite feedback is disallowed. in dynamo, one can
   actually put a delay equation in the loop, and it will work. in stella,
   the compiler will not even allow you to do that, adhering to forrester's
   original dictum that any loop must contain a level.

-----------< Cognitive Dissonance is a 20th Century Art Form >-----------
Eric Harnden (Ronin)
<HARNDEN@AUVM.BITNET> or <HARNDEN@AMERICAN.EDU>
The American University Physics Dept.
4400 Mass. Ave. NW, Washington, DC, 20016-8058
(202) 885-2748
---------------------< Join the Cognitive Dissidents >-------------------
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU