DYNAMO (programming Language)
   HOME

TheInfoList



OR:

DYNAMO (DYNAmic MOdels) is a
simulation language A computer simulation language is used to describe the operation of a simulation on a computer.Fritzson, Peter, and Vadim Engelson.Modelica—A unified object-oriented language for system modeling and simulation" European Conference on Object-Orie ...
and accompanying graphical notation developed within the
system dynamics System dynamics (SD) is an approach to understanding the nonlinear behaviour of complex systems over time using stocks, flows, internal feedback loops, table functions and time delays. Overview System dynamics is a methodology and mathematical ...
analytical framework. It was originally for industrial dynamics but was soon extended to other applications, including population and resource studies and urban planning. DYNAMO was initially developed under the direction of
Jay Wright Forrester Jay Wright Forrester (July 14, 1918 – November 16, 2016) was a pioneering American computer engineer and systems scientist. He is credited with being one of the inventors of magnetic core memory, the predominant form of random-access compute ...
in the late 1950s, by Dr. Phyllis Fox, Alexander L. Pugh III, Grace Duren, and others at the
M.I.T. Computation Center The MIT Computation Center was organized in 1956 as a 10-year joint venture between the Massachusetts Institute of Technology and IBM to provide computing resources for New England universities. As part of the venture, IBM installed an IBM 704, whic ...
. DYNAMO was used for the
system dynamics System dynamics (SD) is an approach to understanding the nonlinear behaviour of complex systems over time using stocks, flows, internal feedback loops, table functions and time delays. Overview System dynamics is a methodology and mathematical ...
simulations of global
resource depletion Resource depletion is the consumption of a resource faster than it can be replenished. Natural resources are commonly divided between renewable resources and non-renewable resources (see also mineral resource classification). Use of either ...
reported in the
Club of Rome The Club of Rome is a nonprofit, informal organization of intellectuals and business leaders whose goal is a critical discussion of pressing global issues. The Club of Rome was founded in 1968 at Accademia dei Lincei in Rome, Italy. It consists ...
's
Limits to Growth ''The Limits to Growth'' (''LTG'') is a 1972 report that discussed the possibility of exponential economic and population growth with finite supply of resources, studied by computer simulation. The study used the World3 computer model to simula ...
, but has since fallen into disuse.


Beginnings

In 1958, Forrester unwittingly instigated DYNAMO's development when he asked an MIT staff programmer to compute needed solutions to some equations, for a
Harvard Business Review ''Harvard Business Review'' (''HBR'') is a general management magazine published by Harvard Business Publishing, a wholly owned subsidiary of Harvard University. ''HBR'' is published six times a year and is headquartered in Brighton, Massach ...
paper he was writing about industrial dynamics. The programmer, Richard Bennett, chose to implement a system (SIMPLE - "Simulation of Industrial Management Problems with Lots of Equations") that took coded equations as symbolic input and computed solutions. SIMPLE became the proof-of-concept for DYNAMO: rather than have a specialist programmer "hard-code" a special-purpose solver in a general purpose programming language, users could specify a system's equations in a special simulation language and get simulation output from one program execution.


Design goals

DYNAMO was designed to emphasize the following: * ease-of-use for the industrial dynamics modeling community (who were not assumed to be expert programmers); * immediate execution of the compiled model, without producing an intermediate object file; and * providing graphical output, with
line printer A line printer prints one entire line of text before advancing to another line. Most early line printers were impact printers. Line printers are mostly associated with unit record equipment and the early days of digital computing, but the ...
and
pen plotter A plotter is a machine that produces vector graphics drawings. Plotters draw lines on paper using a pen, or in some applications, use a knife to cut a material like Polyvinyl chloride, vinyl or leather. In the latter case, they are sometimes k ...
graphics. Among the ways in which DYNAMO was above the standard of the time, it featured units checking of numerical types and relatively clear error messages.


Implementation

The earliest versions were written in
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
for the
IBM 704 The IBM 704 is a large digital mainframe computer introduced by IBM in 1954. It was the first mass-produced computer with hardware for floating-point arithmetic. The IBM 704 ''Manual of operation'' states: The type 704 Electronic Data-Pro ...
, then for the
IBM 709 The IBM 709 was a computer system, initially announced by IBM in January 1957 and first installed during August 1958. The 709 was an improved version of its predecessor, the IBM 704, and was the third of the IBM 700/7000 series of scientific com ...
and
IBM 7090 The IBM 7090 is a second-generation transistorized version of the earlier IBM 709 vacuum tube mainframe computer that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member of the IBM 700/7000 ser ...
. DYNAMO II was written in AED-0, an extended version of
Algol 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a k ...
. Dynamo II/F, in 1971, generated portable FORTRAN code and both Dynamo II/F and Dynamo III improved the system's portability by being written in FORTRAN. Computer & Control Abstracts, Volume 11, Institute of Electrical and Electronics Engineers p.1591 Originally designed for
batch processing Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
on mainframe computers, it was made available on
minicomputers A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ...
in the late 1970s, and became available as "micro-Dynamo" on personal computers in the early 1980s. The language went through several revisions from DYNAMO II up to DYNAMO IV in 1983,


Impact and issues

Apart from its (indirectly felt) public impact in environmental issues raised by the controversy over ''Limits to Growth'', DYNAMO was influential in the history of discrete-event simulation even though it was essentially a package for continuous simulation specified through
difference equations In mathematics, a recurrence relation is an equation according to which the nth term of a sequence of numbers is equal to some combination of the previous terms. Often, only k previous terms of the sequence appear in the equation, for a paramete ...
. It has been said by some to have opened opportunities for computer modelling even for users of relatively low mathematical sophistication. On the other hand, it has also been criticized as weak precisely where mathematical sophistication should be required"An interview with Phyllis A. Fox", SIAM website oral history, p.2

"Besides the servo-mechanism approach, orresterused extrapolation, which is notoriously problematic, and unstable. You know yourself that you can’t extrapolate forever. It doesn’t work."
and for relying only on
Euler integration In mathematics and computational science, the Euler method (also called forward Euler method) is a first-order numerical analysis, numerical procedure for solving ordinary differential equations (ODEs) with a given Initial value problem, initia ...
.


Notes


Bibliography

* ''Introduction to System Dynamics Modeling with Dynamo'' (1981), George P. Richardson; Alexander L. Pugh III, Pegasus Communications, * ''Modeling the Environment: An Introduction To System Dynamics Modeling Of Environmental Systems'' (1999), Andrew Ford, Island Press, ** Appendix D: Dynamo * "The Prophet of Unintended Consequences", Lawrence M. Fisher, strategy+business #40 Autumn 200

* ''Corporate Planning and Policy Design: A System Dynamics Approach'' (1981), James M. Lyneis, (MIT Press/Wright-Allen Series in System Dynamics) * ''Modeling for Learning Organizations'' (2000), John D.W. Morecroft, John D. Sterman; Productivity Press (System Dynamics Series) (Hardcover) * ''Dynamics of growth in a finite world'' (1974), Dennis L. Meadows, Wright-Allen Press, ** Appendix C: How to Read a DYNAMO Flow Diagram; ** Appendix D: How to Read Dynamo Equations ** Appendix E: How to Read a DYNAMO Graphical Output * ''Computer-Assisted Theory Building: Modeling Dynamic Social Systems'' (1988), Dr. Robert Hanneman, Sage Publications, Inc., 0803929617 * ''Computer Simulation in Management Science'' (1998), Michael Pidd, Wiley, * ''Simulation for the social scientist'' (2005), G. Nigel Gilbert, Klaus G. Troitzsch, Open University Press,


External links


DYNAMO
- excerpt from manual contains much more detailed history. {{Authority control Domain-specific programming languages Simulation programming languages Complex systems theory Assembly language software Programming languages created by women