DYNAMO (langage)

Un article de Wikipédia, l'encyclopédie libre.

DYNAMO (langage)
Écrit en AssembleurVoir et modifier les données sur Wikidata

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]

Dans les années 1970, DYNAMO a été utilisé pour les simulations de dynamique des systèmes du rapport du Club de Rome intitulé les Limites à la Croissance qui alertait sur la déplétion des ressources[9], mais il est tombé depuis en désuétude, remplacé notamment par Stella.

Débuts[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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.

Notes et références[modifier | modifier le code]

  1. (en) Peter J. Taylor, Unruly complexity : ecology, interpretation, engagement, Chicago, University Of Chicago Press, , 289 p. (ISBN 0-226-79036-3, lire en ligne)
  2. (en) Nicholas Mark Karayanakis, Computer-assisted simulation of dynamic systems with block diagram languages, CRC Press, (ISBN 0-8493-8971-2, lire en ligne)
  3. (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 (DOI 10.1080/01944367008977327, lire en ligne, consulté le )
  4. (en) « Resume and brief autobiography for Phyllis Fox, for Wellesley College Class of 1944 Record Book » [PDF], sur SIAM history website,
  5. (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)
  6. (en) Thomas (interviewer) Haigh, « Phyllis Fox » [PDF], The History of Numerical Analysis and Scientific Computing - Oral Histories, SIAM, (consulté le )
  7. (en) « D-Memos 0 - 499 », System Dynamics Society
  8. (en) DYNAMO User's Manual, MIT Press, , 2–3 p. (lire en ligne)
  9. (en) Donella Meadows, Jørgen Randers et Dennis Meadows, The limits to growth : the 30-year update, Chelsea Green Pub., , 338 p. (ISBN 1-931498-51-2), p. 285
  10. (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)
  11. (en) J.E. Sammet, Programming Languages : History and Fundamentals, Prentice Hall, , 651 p. (ISBN 0-13-729988-5)
  12. (en) ? ?, « ? », Pittsburgh Conference on Modeling and Simulation, University of Pittsburgh. School of Engineering, Instrument Society of America. Pittsburgh Section,‎ , p. 1270 (ISSN 0198-0092, lire en ligne, consulté le )
  13. (en) ? ?, « ? », Computer & Control Abstracts, Institute of Electrical and Electronics Engineers, vol. 11,‎ ?, p. 1591
  14. (en) « 'Dynamo' Now on Minis », Computerworld,‎ (lire en ligne)
  15. (en) Nancy Roberts, Introduction to computer simulation : the system dynamics approach, Addison-Wesley, (ISBN 0-201-06414-6)
  16. DYNAMO User's Manual, Sixth Edition, (ISBN 0-262-66052-0)
  17. "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]
  18. The electronic oracle: computer models and social decisions (1985), Donella H. Meadows, Jenny M. Robinson, John Wiley & Sons Inc, (ISBN 0-471-90558-5)
  19. "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[modifier | modifier le code]

  • Introduction to System Dynamics Modeling with Dynamo (1981), George P. Richardson; Alexander L. Pugh III, Pegasus Communications, (ISBN 1-883823-43-9)
  • Modeling the Environment: An Introduction To System Dynamics Modeling Of Environmental Systems (1999), Andrew Ford, Island Press, (ISBN 1-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) (ISBN 0-262-12083-6)
  • Modeling for Learning Organizations (2000), John D. W. Morecroft, John D. Sterman ; Productivity Press (System Dynamics Series) (couverture rigide) (ISBN 1-56327-250-4)
  • Dynamics of growth in a finite world (1974), Dennis L. Meadows, Wright-Allen Press, (ISBN 0-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, (ISBN 0-471-97931-7)
  • Simulation for the social scientist (2005), G. Nigel Gilbert, Klaus G. Troitzsch, Open University Press, (ISBN 0-335-21600-5)

Liens externes[modifier | modifier le code]

  • DYNAMO - extrait du manuel contenant un historique beaucoup plus détaillé.