DYNAMO (язык программирования) - DYNAMO (programming language)

DYNAMO ( DYNAmic MOdels ) - это исторически важный язык моделирования и сопровождающие его графические обозначения, разработанный в рамках аналитической структуры системной динамики . Первоначально он предназначался для промышленной динамики, но вскоре был распространен на другие приложения, включая исследования населения и ресурсов и городское планирование.

Первоначально DYNAMO был разработан под руководством Джея Райта Форрестера в конце 1950-х годов доктором Филлис Фокс , Александром Л. Пью III, Грейс Дурен и другими из вычислительного центра Массачусетского технологического института .

DYNAMO использовался для моделирования системной динамики глобального истощения ресурсов, о котором сообщалось в публикации Римского клуба « Пределы роста» , но с тех пор больше не используется.

Начало

В 1958 году Форрестер невольно инициировал разработку DYNAMO, когда попросил штатного программиста Массачусетского технологического института вычислить необходимые решения некоторых уравнений для статьи Harvard Business Review, которую он писал о промышленной динамике. Программист Ричард Беннетт решил реализовать систему (SIMPLE - «Моделирование проблем промышленного управления с большим количеством уравнений»), которая принимала закодированные уравнения в качестве символьных входных данных и вычисляла решения. SIMPLE стал доказательством концепции DYNAMO: вместо того, чтобы иметь специализированного программиста, «жестко запрограммировавшего» специальный решатель на языке программирования общего назначения, пользователи могли задавать уравнения системы на специальном языке моделирования и получать выходные данные моделирования от выполнение одной программы.

Цели дизайна

DYNAMO был разработан, чтобы подчеркнуть следующее:

  • простота использования для сообщества специалистов по моделированию промышленной динамики (которые не считались опытными программистами);
  • немедленное выполнение скомпилированной модели без создания промежуточного объектного файла; а также
  • обеспечение графического вывода с помощью графики для линейного принтера и перьевого плоттера .

Среди способов, которыми DYNAMO превосходил стандарты того времени, были функции проверки числовых типов и относительно четкие сообщения об ошибках.

Реализация

Самые ранние версии были написаны на ассемблере для IBM 704 , затем для IBM 709 и IBM 7090 . DYNAMO II был написан на AED-0 , расширенной версии Algol 60 . Dynamo II / F в 1971 году сгенерировал переносимый код FORTRAN, и Dynamo II / F и Dynamo III улучшили переносимость системы, написав на FORTRAN.

Первоначально разработанный для пакетной обработки на мэйнфреймах, он стал доступен на мини-компьютерах в конце 1970-х, а в начале 1980-х стал доступен как «микродинамо» на персональных компьютерах. Язык претерпел несколько изменений от DYNAMO II до DYNAMO IV в 1983 году.

Воздействие и проблемы

Помимо (косвенно ощущаемого) общественного воздействия на экологические проблемы, возникшие в результате споров по поводу пределов роста , DYNAMO сыграл важную роль в истории моделирования дискретных событий, хотя по сути это был пакет для непрерывного моделирования, задаваемый с помощью разностных уравнений . Некоторые говорят, что это открыло возможности компьютерного моделирования даже для пользователей относительно невысоких математических знаний. С другой стороны, он также подвергался критике как слабый именно там, где требуется математическая сложность, и за то, что он полагается только на интегрирование Эйлера .

Примечания

Библиография

  • Введение в моделирование динамики системы с помощью Dynamo (1981), Джордж П. Ричардсон; Александр Л. Пью III, Pegasus Communications, ISBN  1-883823-43-9
  • Моделирование окружающей среды: введение в моделирование системной динамики экологических систем (1999), Эндрю Форд, Island Press, ISBN  1-55963-601-7
    • Приложение D: Динамо
  • «Пророк непредвиденных последствий», Лоуренс М. Фишер, стратегия + бизнес № 40, осень 2005 г. [3]
  • Корпоративное планирование и разработка политики: подход к системной динамике (1981), Джеймс М. Лайнейс, (серия MIT Press / Wright-Allen по системной динамике) ISBN  0-262-12083-6
  • Моделирование для обучающихся организаций (2000), Джон Д. В. Моркрофт, Джон Д. Стерман; Пресса для продуктивности (серия System Dynamics) (твердый переплет) ISBN  1-56327-250-4
  • Динамика роста в конечном мире (1974), Деннис Л. Медоуз, Wright-Allen Press, ISBN  0-9600294-4-3
    • Приложение C: Как читать блок-схему DYNAMO;
    • Приложение D: Как читать уравнения динамо
    • Приложение E: Как читать графический вывод DYNAMO
  • Компьютерное построение теории: моделирование динамических социальных систем (1988), доктор Роберт Ханнеман, Sage Publications, Inc., 0803929617
  • Компьютерное моделирование в науке управления (1998), Майкл Пидд, Wiley, ISBN  0-471-97931-7
  • Моделирование для социолога (2005), Дж. Найджел Гилберт, Клаус Г. Троицш, Open University Press, ISBN  0-335-21600-5

внешние ссылки

  • DYNAMO - выдержка из руководства содержит гораздо более подробную историю.
  • динамо на GitHub - интерпретатор Динамо в Go ; включает в себя исполняемую World2, World3 и киберсин модели