Краткий обзор современных языков и систем моделирования


При моделировании динамических систем на ЭВМ в первую очередь необходимо представить их математические модели в виде программ. Следовательно, большое значение при реализации модели имеет правильный выбор языка моделирования.

Язык моделирования должен обеспечить:
1) удобство описания процесса функционирования системы,
2) удобство ввода исходных данных,
3) составление и варьирование структуры, параметров модели,
4) реализуемость как детерминированного, так и статистического моделирования.

Эффективность языков моделирования существенно зависит от наличия диалоговых и графических средств. Удобство языка моделирования во многом определяется ориентацией на определенную предметную область. И, наконец, языки моделирования должны обеспечивать решение всех задач исследования и анализа результатов. Отсюда большое разнообразие языков моделирования. Был создан не один десяток языков и систем моделирования.

В 50-е и 60-е годы прошлого века моделирование осуществлялось с помощью универсальных алгоритмических языков программирования. Таких как Фортран, Алгол, т.е. языков общего назначения. Применение таких языков требует высокой программистской квалификации. Вместе с тем программы получаются большими, громоздкими, требующими длительной отладки моделей. Ограничены возможности перестроить, видоизменить модель при необходимости. В результате такой способ программирования моделей малоэффективен, ненагляден и затруднителен для широкого пользователя.

Позднее стали появляться системы моделирования, в основе которых был расширенный универсальный язык программирования. Расширение универсального языка, надстройка его учитывала специфику решаемого круга задач, специфику моделируемого объекта. К таким языковым средствам моделирования относится DSL (Digital Simulation Language) фирмы IBM для моделирования непрерывных систем.

Дальнейшим развитием стала система CSMP, в основе которой были заранее запрограммированные функциональные блоки, наподобие блоков на аналоговых машинах. Расширенный ФОРТРАН в системе CSMP включал возможности обращения манипуляции этими блоками при разработке программы, реализующей ту или иную модель. Здесь широко используются операторы Фортрана. Однако в подобных системах большинство трудностей моделирования сохранилось.

Подобные языки называют еще моделирующими языками высокого уровня или универсальными моделирующими языками.

Разработан ряд моделирующих языков высокого уровня для моделирования дискретных систем, систем массового обслуживания. Таких, как SIMULA, SIMSCRIPT, GPSS, CSL и др.

SIMULA представляет собой расширение языка АЛГОЛ, SIMSCRIPT — расширение Фортрана. Наибольшее распространение из этих языков получил язык GPSS. В GPSS важное место занимает обработка таких объектов, как транзакты (сообщения, заявки, запросы).

Языки моделирования цифровых систем в основном обеспечивают задачи разработки цифровой аппаратуры. Их называют HDL или на русском языке — языки описания аппаратуры (ЯОА). Наиболее известным и эффективным ЯОА сегодня является язык VHDL.

VHDL является единым, общим языком описания моделей и проектирования электронных устройств, начиная с вентильного, регистрового уровней и кончая уровнем описания вычислительных систем. Но основное назначением языка VHDL — описание заданий на моделирование.

Для моделирования непрерывных динамических систем получил распространение язык CSMP, который реализует пакетный режим взаимодействия с пользователем. Появились и другие языки и системы моделирования непрерывных процессов, такие как MIDAS, PACTOLUS, CSSL. К отечественным языкам и системам моделирования непрерывных динамических систем относятся МАСЛИН и МАСС (разработанные сотрудниками МЭИ). Примерами языков, реализующих комбинированное моделирование являются GASP, НЕДИС и МИКС.

GASP является расширением языка ФОРТРАН. Здесь непрерывные алгоритмы моделируются дифференциальными уравнениями, а дискретные процессы представляются в виде событий, наступление которых зависит от процесса функционирования системы. Событие — переход системы из одного состояния в другое в соответствии
с принятыми правилами.

НЕДИС — язык моделирования непрерывно-дискретных систем разработан сотрудниками Института кибернетики Академии наук Украины. НЕДИС создан на основе алгоритмических языков высокого уровня и относится к системам программирования универсального типа, т.е. языки GASP и НЕДИС относятся к процедурным языкам программирования.

МИКС (моделирование имитационное комбинированных систем) представляет собой удобное средство моделирования. Как и язык МАСЛИН, МАСС система МИКС имеет в своей основе блочно-ориентированный язык с непроцедурной технологией программирования, позволяющей легко и быстро моделировать исследуемую систему, осуществлять быстрое преобразование модели, воспроизводить реально действующие сигналы и организовать вычислительный эксперимент. Блочные языки и соответствующие программные модули позволяют легко реализовать динамическое распределение памяти посредством размещения во внешнее запоминающее устройство (ВЗУ) больших библиотек модулей, извлекать их по мере необходимости, пересылать их в оперативную память.

Нельзя не упомянуть здесь такие программные системы как MathCad, Matlab, Matrix, которые нашли применение для решения большого круга задач с помощью программ, реализующих широко используемые математические методы решения разнообразных уравнений и систем, задач оптимизации, линейного программирования, для отладки типовых алгоритмов регулирования, для решения задач идентификации и проектирования.

Для нас интерес представляют средства моделирования, встроенные в упомянутые системы. В этих комплексных системах используются такие средства моделирования как SYSTEM BULD и SIMULINK. Языки моделирования этих средств блочно-ориентированные и близки к языку моделирования системы МАСС. Но поскольку SYSTEM BULD и SIMULINK являются подсистемами комплексных систем, то освоение технологии работы с ними требует дополнительных знаний помимо знания языка моделирования. Например, SIMULINK не может работать без матричной системы MATLAB. Другими словами, средствам моделирования в этих системах принадлежит вторичная роль.


Комментарии запрещены.




Статистика