Современные ЭВМ, вычислительные комплексы и сети являются мощными средствами исследования сложных систем с использованием технологий имитационного моделирования.
Соответствующим образом осуществляется развитие и программных продуктов, обеспечивающих решение широкого спектра задач методами ИМ:
универсальные языки высокого уровняи, прежде всего, языки, реализующие технологии объектно-ориентированного программирования;
специализированные языки имитационного моделирования, реализующие концепции имитационного моделирования того или иного класса систем;
встроенные инструментальные средства и расширения языков высокого уровня, обеспечивающие возможности имитационного моделирования систем.
Универсальные языки высокого уровня
Использование универсальных языков высокого уровня для имитационного моделирования систем предполагает реализацию в полном объёме изложенных технологий и приёмов построения моделей в ходе авторской разработки программных продуктов, ориентированных на решение конкретной задачи или проблемы.
Данный подход требует достаточно высокого уровня подготовки и навыков работы с имитационными моделями.
Одновременно обеспечивается предельно глубокий уровень проникновения в исследуемую предметную область и наиболее высокая степень гибкости и детализация описания системы в рамках разрабатываемой модели.
Специализированные языки имитационного моделирования
Языки имитационного моделирования (ЯИМ) являются проблемно-ориентированными средствами, позволяющими описывать системы в терминах и категориях, опирающихся на общепринятую методологию и технологию процесса имитации, а также на типовые математические схемы элементов систем и их взаимодействия.
Целесообразность использования ЯИМ определяется следующими причинами:
удобство программированияи достаточно «мягкие» требования к подготовке разработчика-пользователя, что играет существенную роль при машинной реализации моделирующих алгоритмов;
концептуальная направленностьязыка на исследуемый класс систем, что обеспечивает предоставление необходимого спектра возможностей при построении моделей на основе модульного принципа.
Эти факторы обеспечивают существенное сокращение сроков разработки и эксплуатации ИМ, а также реализацию стандартных форм обработки интерпретации и документирования результатов моделирования.
Рамки специализированного ЯИМ не всегда позволяют исследовать достаточно «тонкие» и индивидуальные особенности сложной системы, что ведет к «угрублению» описания системы в рамках разрабатываемой модели.
Непрерывный, дискретный и комбинированный подходык описанию экзогенных и эндогенных переменных в ЯИМ
Непрерывный подход к представлению системсводится к составлению уравнений, с помощью которых устанавливается связь между не-прерывными экзогенными и эндогенными переменными модели.
Примером подобных уравнений являются обыкновенные дифференциальные уравнения, то есть в данном случае в полном объеме используется формализм D-схем.
Реализуя имитацию дифференциальных уравнений, подобные средства в ЭВМ используют различные способы численного интегрирования, в том числе и использование разностных уравнений.
Подобный подход реализован в наиболее распространённом языках данной группы – DYNAMO и MIMYC.
При реализации дискретного или комбинированного подходов реализуются типовые математические схемы, в которых участвуют как непрерывные переменные, так и дискретные переменные. Выделяют четыре принципиально различающихся подгрупп ЯИМ.
Первая подгруппа ЯИМреализует имитацию путем составления списка событий, отличающих моменты выполнения функциональных операций. Продвижение времени осуществляется по событиям, а про-грамма модели организована в виде совокупности процедур обслуживания событий. Выполнение этих процедур синхронизируется списковым механизмом планирования (расписания) событий. Исходными представителями данной подгруппы являются языки SIMSRIPT, GASP и др.
Вторая подгруппа ЯИМориентирована на просмотр активностей (работ) с целью проверки выполнения условий их начала или окончания. Просмотр активностей осуществляется непрерывно и определяет очередность появления событий. Завершение выполнения активностей может привести к инициализации новых активностей. Языки данного типа имеют в основе поисковый алгоритм и динамика системы описывается в терминах работ. Типопредставителем ЯИМ данной подгруппы является язык FОRSIM.
Третья подгруппа ЯИМреализует процессный способ описания систем. Под процессом понимается последовательность событий, связь между которыми устанавливается логикой определенных отношений. Описание каждого класса процесса оформляется в виде процедуры, которая выполняется одновременно для всех представителей данного класса, существующих в системе в текущее время. Примерами языков процессов является язык SIMULA и язык ПЛИС, которые породили много последующих разработок, используемых в настоящее время
Четвертая подгруппа ЯИМреализует транзактный способ имитации, и ее наиболее известный и широко используемый в настоящее время типопредставитель – язык GPSS (GPSS WORLD, GPSS/PC). Язык моделирования GPSS специально разработан для построения имитационных моделей сложных дискретных систем и представляет собой интерпретирующую языковую систему, применяющуюся для описания пространственно-временного движения объектов. Такие объекты называются транзактами, которые чаще всего являются элементами потока заявок. Функцию каждого из них можно представить как процесс создания, продвижения по системе и уничтожения. Основными схемами, для имитации которых используется язык GPSS, являются, прежде всего, системы массового обслуживания (Q-схемы), автоматы (F, Р-схемы), сети Петри (N-схемы) и даже агрегаты (А-схемы).
К числу современных ЯИМ, реализующих комбинированный (непрерывно-дискретный) подход, может быть отнесен язык Modelica, который реализует принципы объективно-ориентированного программирования применительно к моделированию больших, сложных и физически разнородных систем. Их компоненты могут иметь различную физическую природу. Язык поддерживает имитацию гибридного поведения элементов систем и в настоящее время активно развивается.