DYNAMO (DYNAmic MOdels) est un précurseur des langages de simulation. Associé à une notation graphique, il a été développé dans le cadre d'analyse de la dynamique des systèmes. Il a initialement été conçu pour des dynamiques d'industries, mais il a rapidement été utilisé pour d'autres applications, y compris des études démographiques, sur les ressources[1] ou d'urbanisme[2],[3].
La version initiale de DYNAMO a été développée sous la direction de Jay Wright Forrester à la fin des années 1950, par le Dr Phyllis Fox[4],[5], Alexander L. Pugh III, Grâce Duren[6], et d'autres chercheurs[7] du Centre de Calcul du M.I.T.[8]
Jay Forrester a involontairement initié le développement de DYNAMO en 1958 quand il a demandé à un programmeur du MIT de calculer les solutions nécessaires à certaines équations, pour un article de la Harvard Business Review qu'il était en train d'écrire sur la dynamique industrielle.
Le programmeur, Richard Bennett, choisi de mettre en œuvre un système (SIMPLE pour "Simulation of Industrial Management Problems with Lots of Equations") qui prenait les équations codées comme entrée symbolique et qui calculait les solutions. SIMPLE est devenu la preuve de concept de DYNAMO : au lieu de faire appel à un programmeur spécialisé pour "coder en dur" un solveur à usage spécifique dans un langage de programmation général, les utilisateurs pouvaient spécifier les équations d'un système dans un langage de simulation spécifique et obtenir le résultat de la simulation par une simple exécution du programme.
Objectifs de conception
DYNAMO a été conçu pour mettre en avant les éléments suivants :
une grande facilité d'utilisation pour les modélisateurs en dynamique industrielle (que l'on ne supposait pas être des experts en programmation),
une exécution immédiate du modèle compilé, sans produire de fichier objet intermédiaire,
la présentation du résultat sous forme graphique, avec une interface imprimante et traceur graphique.
Parmi les arguments qui faisaient de DYNAMO un outil supérieur aux outils concurrents de l'époque, il y avait le fait qu'il incluse la vérification des types d'unités numériques et des messages d'erreur relativement clairs.
Implémentation
Les premières versions ont été écrites en langage d'assemblage pour IBM 704, puis pour IBM 709 et IBM 7090. DYNAMO II a été écrit en AED-0, une version étendue d'Algol 60[10],[11].
Dynamo II/F, en 1971, générait du code portable FORTRAN[12]
et les deux Dynamo II/F et Dynamo III ont amélioré la portabilité du système par leur écriture en FORTRAN[13].
Conçu à l'origine pour le traitement par lot sur gros systèmes, il a été porté sur mini-ordinateur à la fin des années 1970[14],
et au début des années 1980, il est devenu disponible sur ordinateur personnel sous le nom "micro-Dynamo"[15].
Le langage a subi plusieurs révisions, de DYNAMO II à DYNAMO IV en 1983[16].
Influence et problèmes soulevés
Au-delà de l'influence (ressentie de manière indirecte) qu'il a eue auprès du grand public sur les questions environnementales qu'a soulevée la controverse sur les Limites de la Croissance, DYNAMO a eu une influence notable dans l'histoire des simulations à événements discrets, même s'il se résumait pour l'essentiel à un outil dédié à la simulation continue par des équations différentielles[17].
Certains ont affirmé que DYNAMO donnait accès à la modélisation informatique, y compris pour des personnes doté d'une formation mathématique relativement limitée[18]. Par ailleurs, il a aussi été critiqué pour sa faiblesse, là où précisément une certaine sophistication mathématique aurait été nécessaire[19], ne proposant que la résolution par la méthode d'Euler.
↑(en) Peter J. Taylor, Unruly complexity : ecology, interpretation, engagement, Chicago, University Of Chicago Press, , 289 p. (ISBN0-226-79036-3, lire en ligne)
↑(en) Nicholas Mark Karayanakis, Computer-assisted simulation of dynamic systems with block diagram languages, CRC Press, (ISBN0-8493-8971-2, lire en ligne)
↑(en) Carl V. Swanson et Waldmann Raymond J., « A Simulation Model Of Economic Growth Dynamics », Journal of the American Planning Association, Routledge: Taylor & Francis Group, vol. 36, no 5, , p. 314–322 (DOI10.1080/01944367008977327, lire en ligne, consulté le )
↑(en) Michael J. Radzicki et 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 (lire en ligne)
↑(en) Thomas (interviewer) Haigh, « Phyllis Fox » [PDF], The History of Numerical Analysis and Scientific Computing - Oral Histories, SIAM, (consulté le )
↑(en) D.T. Ross et J.E. Ward, Investigations in Computer-Aided Design for Numerically Controlled Production (Tech Report, Electronic Systems Laboratory), Electrical Engineering Department, MIT, (lire en ligne)
↑(en) ? ?, « ? », Pittsburgh Conference on Modeling and Simulation, University of Pittsburgh. School of Engineering, Instrument Society of America. Pittsburgh Section, , p. 1270 (ISSN0198-0092, lire en ligne, consulté le )
↑(en) ? ?, « ? », Computer & Control Abstracts, Institute of Electrical and Electronics Engineers, vol. 11, ?, p. 1591
↑"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 [1]
↑The electronic oracle: computer models and social decisions (1985), Donella H. Meadows, Jenny M. Robinson, John Wiley & Sons Inc, (ISBN0-471-90558-5)
↑"An interview with
Phyllis A. Fox", SIAM website oral history, p.26 [2]: "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."
Bibliographie
Introduction to System Dynamics Modeling with Dynamo (1981), George P. Richardson; Alexander L. Pugh III, Pegasus Communications, (ISBN1-883823-43-9)
Modeling the Environment: An Introduction To System Dynamics Modeling Of Environmental Systems (1999), Andrew Ford, Island Press, (ISBN1-55963-601-7)
Annexe D: Dynamo
"The Prophet of Unintended Consequences", Lawrence M. Fisher, strategy+business #40 Autumn 2005
Corporate Planning and Policy Design: A System Dynamics Approach (1981), James M. Lyneis, (MIT Press/Wright-Allen Series in System Dynamics) (ISBN0-262-12083-6)
Modeling for Learning Organizations (2000), John D. W. Morecroft, John D. Sterman ; Productivity Press (System Dynamics Series) (couverture rigide) (ISBN1-56327-250-4)
Dynamics of growth in a finite world (1974), Dennis L. Meadows, Wright-Allen Press, (ISBN0-9600294-4-3)
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, (ISBN0-471-97931-7)