DYNAMO (programming language)

Last updated

DYNAMO (DYNAmic MOdels) is a simulation language and accompanying graphical notation developed within the system dynamics analytical framework. It was originally for industrial dynamics but was soon extended to other applications, including population and resource studies [1] [2] and urban planning. [3] [4]

Contents

DYNAMO was initially developed under the direction of Jay Wright Forrester in the late 1950s, by Dr. Phyllis Fox, [5] [6] Alexander L. Pugh III, Grace Duren, [7] and others [8] at the M.I.T. Computation Center. [9]

DYNAMO was used for the system dynamics simulations of global resource depletion reported in the Club of Rome's Limits to Growth, [1] 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 paper he was writing about industrial dynamics. [10] [11] 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:

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 for the IBM 704, then for the IBM 709 and IBM 7090. DYNAMO II was written in AED-0, an extended version of Algol 60. [12] [13] Dynamo II/F, in 1971, generated portable FORTRAN code [14] and both Dynamo II/F and Dynamo III improved the system's portability by being written in FORTRAN. [14] [15]

Originally designed for batch processing on mainframe computers, it was made available on minicomputers in the late 1970s, [16] and became available as "micro-Dynamo" on personal computers in the early 1980s. [17] The language went through several revisions from DYNAMO II up to DYNAMO IV in 1983, [18]

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. [19] It has been said by some to have opened opportunities for computer modelling even for users of relatively low mathematical sophistication. [20] On the other hand, it has also been criticized as weak precisely where mathematical sophistication should be required [2] [21] and for relying only on Euler integration. [3]

Notes

  1. 1 2 Meadows, Donella; Randers, Jørgen; Meadows, Dennis (2004). The limits to growth: the 30-year update. Chelsea Green Pub. p. 285. ISBN   1-931498-51-2.
  2. 1 2 Taylor, Peter J. (2005). Unruly complexity: ecology, interpretation, engagement. University Of Chicago Press. ISBN   0-226-79036-3.
  3. 1 2 Karayanakis, Nicholas Mark (24 June 1993). Computer-assisted simulation of dynamic systems with block diagram languages. CRC Press. ISBN   0-8493-8971-2.
  4. Swanson, Carl V.; Raymond J., Waldmann (September 1970). "A Simulation Model Of Economic Growth Dynamics". Journal of the American Planning Association. Routledge: Taylor & Francis Group. 36 (5): 314–322. doi:10.1080/01944367008977327.
  5. "Resume and brief autobiography for Phyllis Fox, for Wellesley College Class of 1944 Record Book" (PDF). SIAM history website. January 1974.
  6. Michael J. Radzicki; Robert A. Taylor. Origin of System Dynamics. Introduction to System Dynamics: Version 1.0. U.S. Department of Energy Office of Policy and International Affairs. Archived from the original on 2017-06-20. Retrieved 2011-09-23.
  7. Haigh, Thomas (interviewer) (2005). "Phyllis Fox" (PDF). The History of Numerical Analysis and Scientific Computing Oral Histories. Society for Industrial and Applied Mathematics . Retrieved 12 May 2010.{{cite web}}: |first= has generic name (help)
  8. "D-Memos 0 - 499". System Dynamics Society. Archived from the original on 2017-10-23. Retrieved 2010-05-08.
  9. DYNAMO User's Manual. MIT Press. 1963. pp. 2–3.
  10. Forrester, J.W. (1961). Industrial Dynamics. Cambridge MA: MIT Press. ISBN   1-883823-36-6.
  11. ""The Beginning of System Dynamics," Jay W. Forrester" (PDF). Archived from the original (PDF) on 2010-04-14. Retrieved 2010-05-08.
  12. Ross, D.T.; Ward, J.E. (May 1967), "Investigations in Computer-Aided Design for Numerically Controlled Production", Tech Report, Electronic Systems Laboratory, Electrical Engineering Department, MIT
  13. Sammet, J.E. (Aug 1969). Programming Languages: History and Fundamentals. Prentice Hall. p. 651. ISBN   0-13-729988-5.
  14. 1 2 "Proceedings of the Annual Pittsburgh Conference on Modeling and Simulation". Annual Pittsburgh Conference on Modeling and Simulation. University of Pittsburgh. School of Engineering: Instrument Society of America. Pittsburgh Section: 1270. 1975. ISSN   0198-0092 . Retrieved 12 May 2010.
  15. Computer & Control Abstracts, Volume 11, Institute of Electrical and Electronics Engineers p.1591
  16. "'Dynamo' Now on Minis". Computerworld . 5 Jun 1978.
  17. Roberts, Nancy (September 1982). Introduction to computer simulation: the system dynamics approach. Addison-Wesley. ISBN   0-201-06414-6.
  18. DYNAMO User's Manual, Sixth Edition, ISBN   0-262-66052-0
  19. "A History of Discrete Event Simulation Programming Languages", Richard E. Nance, TR 93-21, Dept. of Comp. Sci., Virginia Polytechnic Institute and State University (cross-listed as Systems Research Center report SRC 93-003), June 11, 1993
  20. The electronic oracle: computer models and social decisions (1985), Donella H. Meadows, Jenny M. Robinson, John Wiley & Sons Inc, ISBN   0-471-90558-5
  21. "An interview with Phyllis A. Fox", SIAM website oral history, p.26 : "Besides the servo-mechanism approach, [Forrester] used extrapolation, which is notoriously problematic, and unstable. You know yourself that you can’t extrapolate forever. It doesn’t work."

Bibliography

Related Research Articles

Computer programming is the process of performing a particular computation, usually by designing and building an executable computer program. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms. The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit. The purpose of programming is to find a sequence of instructions that will automate the performance of a task on a computer, often for solving a given problem. Proficient programming thus usually requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.

Time-sharing Computing resource shared by concurrent users

In computing, time-sharing is the sharing of a computing resource among many users at the same time by means of multiprogramming and multi-tasking.

<i>The Limits to Growth</i> 1972 book on economic & population 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 simulate the consequence of interactions between the earth and human systems. The model was based on the work of Jay Forrester of MIT, as described in his book World Dynamics.

System dynamics Study of non-linear complex systems

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.

Donella Hager "Dana" Meadows was an American environmental scientist, educator, and writer. She is best known as lead author of the books The Limits to Growth and Thinking In Systems: A Primer.

Jay Wright Forrester American operations researcher

Jay Wright Forrester 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 computer memory during the most explosive years of digital computer development. It was part of a family of related technologies which bridged the gap between vacuum tubes and semiconductors by exploiting the magnetic properties of materials to perform switching and amplification.

Computer simulation Process of mathematical modelling, performed on a computer

Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics, astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new technology and to estimate the performance of systems too complex for analytical solutions.

The World3 model is a system dynamics model for computer simulation of interactions between population, industrial growth, food production and limits in the ecosystems of the earth. It was originally produced and used by a Club of Rome study that produced the model and the book The Limits to Growth (1972). The creators of the model were Dennis Meadows, project manager, and a team of 16 researchers.

Visual programming language Programming language written graphically by a user

In computing, a visual programming language is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

John David Sterman is the Jay W. Forrester Professor of Management, and the current director of the MIT System Dynamics Group at the MIT Sloan School of Management. He is also co-faculty at the New England Complex Systems Institute. He is mostly considered as the current leader of the System Dynamics school of thought. He is the author of Business Dynamics: Systems Thinking and Modeling for a Complex World.

Dennis Meadows American scientist and coauthor of The Limits to Growth

Dennis Lynn Meadows is an American scientist and Emeritus Professor of Systems Management, and former director of the Institute for Policy and Social Science Research at the University of New Hampshire. He is President of the Laboratory for Interactive Learning and widely known as a coauthor of The Limits to Growth.

MIMIC, known in capitalized form only, is a former simulation computer language developed 1964 by H. E. Petersen, F. J. Sansom and L. M. Warshawsky of Systems Engineering Group within the Air Force Materiel Command at the Wright-Patterson AFB in Dayton, Ohio, United States. It is an expression-oriented continuous block simulation language, but capable of incorporating blocks of FORTRAN-like algebra.

The history of video games spans a period of time between the invention of the first electronic games and today, covering many inventions and developments. Video gaming reached mainstream popularity in the 1970s and 1980s, when arcade video games, gaming consoles and home computer games were introduced to the general public. Since then, video gaming has become a popular form of entertainment and a part of modern culture in most parts of the world. The early history of video games, therefore, covers the period of time between the first interactive electronic game with an electronic display in 1947, the first true video games in the early 1950s, and the rise of early arcade video games in the 1970s. During this time there was a wide range of devices and inventions corresponding with large advances in computing technology, and the actual first video game is dependent on the definition of "video game" used.

Phyllis Ann Fox is an American mathematician and computer scientist.

TUTSIM was the first commercial simulation software ever to run on an IBM-PC. The package was used for the modeling and simulation of multi-domain systems using differential equations and bond graphs.

STELLA (programming language)

STELLA is a visual programming language for system dynamics modeling introduced by Barry Richmond in 1985. The program, distributed by isee systems allows users to run models created as graphical representations of a system using four fundamental building blocks. STELLA has been used in academia as a teaching tool and has been utilized in a variety of research and business applications. The program has received positive reviews, being praised in particular for its ease of use and low cost.

FEATool Multiphysics

FEATool Multiphysics is a physics, finite element analysis (FEA), and PDE simulation toolbox. FEATool Multiphysics features the ability to model fully coupled heat transfer, fluid dynamics, chemical engineering, structural mechanics, fluid-structure interaction (FSI), electromagnetics, as well as user-defined and custom PDE problems in 1D, 2D (axisymmetry), or 3D, all within a graphical user interface (GUI) or optionally as script files. FEATool has been employed and used in academic research, teaching, and industrial engineering simulation contexts.

Thinking in Systems provides an introduction to systems thinking by Donella Meadows, the main author of the 1972 report The Limits to Growth, and describes some of the ideas behind the analysis used in that report.