DYNAMO ( DYNAmic MOdels ) è un linguaggio di simulazione (dotato di notazione grafica di accompagnamento) che risulta storicamente importante nell'ambito della dinamica dei sistemi. In origine era destinato alla pianificazione industriale, ma ben presto fu impiegato in altri settori, come ad esempio gli studi sul rapporto tra popolazione e risorse o gli studi sulla pianificazione urbana.

Inizialmente DYNAMO fu sviluppato presso il MIT Computation Center alla fine degli anni '50, da Phyllis Fox Alexander L. Pugh III, Grace Duren e altri, sotto la direzione di Jay Wright Forrester.

DYNAMO è stato utilizzato per simulare la dinamica dei sistemi relativi all'esaurimento delle risorse globali trattati nel Limits to Growth del Club di Roma; tuttavia, da allora è caduto in disuso.

Inizi Nel 1958 Forrester fu la causa involontaria dello sviluppo di DYNAMO, quando chiese a un programmatore del personale del MIT di calcolare le soluzioni di alcune equazioni necessarie ad un articolo che stava scrivendo per la Harvard Business Review riguardante le dinamiche industriali. Il programmatore, Richard Bennett, scelse di implementare un sistema (SIMPLE, acronimo che sta per "Simulation of Industrial Management Problems with Lots of Equations", cioè "Simulazione di problemi di gestione industriale con molte equazioni") che prendeva come input le equazioni codificate simbolicamente e quindi calcolava le soluzioni. SIMPLE divenne il prototipo per DYNAMO: invece di avere un programmatore di livello avanzato che scrive un risolutore ad hoc in un linguaggio di programmazione generalista, gli utenti possono specificare le equazioni del sistema in un linguaggio di simulazione dedicato e quindi ottenere direttamente i risultati della simulazione.

Obiettivi di progettazione DYNAMO è stato progettato enfatizzando: la facilità d'uso per la comunità della modellistica della dinamica industriale (che non si riteneva composta da programmatori esperti) l'esecuzione immediata del modello sviluppato, senza produrre un file oggetto intermedio l'output grafico, per stampanti di linea e plotter.

Tra le caratteristiche nelle quali DYNAMO era superiore allo standard del tempo, c'erano il supporto per l'analisi dimensionale dei tipi numerici e messaggi di errore relativamente chiari.

Implementazione Le prime versioni di DYNAMO sono state scritte in linguaggio assembly (per IBM 704, IBM 709 e IBM 7090). DYNAMO II è stato scritto in AED-0, una versione estesa di Algol 60. DYNAMO II / F (1971) è stato scritto in FORTRAN e poteva generare codice FORTRAN; anche DYNAMO III è stato scritto in FORTRAN; l'utilizzo di questo linguaggio ha migliorato la portabilità del sistemaComputer & Control Abstracts, Volume 11, Institute of Electrical and Electronics Engineers, p.1591.

Originariamente progettato per l'elaborazione batch su computer mainframe, fu reso disponibile sui minicomputer alla fine degli anni '70 e divenne disponibile sui personal computer come "micro-Dynamo" nei primi anni '80. Il linguaggio ha subito diverse revisioni da DYNAMO II fino a DYNAMO IV (1983)DYNAMO User's Manual, Sixth Edition, .

Impatto e problemi A parte il suo impatto pubblico (percepito in maniera indiretta) per le questioni ambientali sollevate dalla controversia sui limiti dello sviluppo, DYNAMO ha influenzato la storia della simulazione ad eventi discreti (però, si trattava sostanzialmente di un pacchetto per la simulazione a tempo continuo specificata attraverso equazioni alle differenze"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). Alcuni hanno sostenuto che sia stata data l'opportunità di operare nel campo della modellazione al computer anche ad utenti con preparazione matematica relativamente modesta. D'altra parte, è stata proprio la mancanza di sofisticazione matematica a venire considerata una delle debolezze"An interview with Phyllis A. Fox", SIAM website oral history, p.26 (per esempio, il fatto di fare affidamento solo sull'integrazione di Eulero).

Note

Bibliografia 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 2005 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,

Collegamenti esterni

Categoria:Software in Assembly Categoria:Teoria dei sistemi