66. Программные среды для проведения моделирования
Программирование моделей значительно упрощается с использованием языка моделирования высокого уровня. Основными моментами при выборе ЯМ является:
- проблемная ориентация;
- возможности сбора, обработки, вывода результатов;
- быстродействие;
- простота отладки;
- доступность восприятия.
Этими свойствами обладают процедурные языки высокого уровня. Для моделирования могут быть использованы языки Имитационного моделирования (ЯИМ) и общего назначения (ЯОМ).
Более удобными являются ЯИМ. Они обеспечивают:
удобство программирования модели системы;
Недостатки ЯИМ: неэффективность рабочих программ; сложность отладки; недостаток документации.
Рассмотрим некоторые среды для проведения моделирования.
GPSS. Каждый оператор GPSS/PC относится к одному из четырех типов:
Операторы-блоки формируют логику модели, каждый выполняет свою конкретную функцию. За каждым из таких блоков стоит соответствующая подпрограмма транслятора, а операнды каждого блока служат параметрами этой подпрограммы.
Операторы определения объектов служат для описания параметров некоторых объектов GPSS/PC. (количество каналов в многоканальной системе массового обслуживания, количество строк и столбцов матрицы и т.п.)
Управляющие операторы служат для управления процессом моделирования (прогоном модели).
Операторы-команды позволяют управлять работой интегрированной среды GPSS/PC.
После трансляции исходной программы в памяти ПК создается так называемая текущая модель, являющаяся совокупностью разного типа объектов, каждый из которых представляет собой некоторый набор чисел в памяти ПК, описывающих свойства и текущее состояние объекта.
Объекты GPSS/PC можно разделить на семь классов:
Динамические объекты, соответствующие заявкам в системах массового обслуживания, называются в GPSS/PC транзактами.
Операционные объекты GPSS/PC, называемые блоками, соответствуют операторам-блокам исходной программы. Они формируют логику модели, давая транзактам указания: куда идти и что делать дальше.
Аппаратные объекты GPSS/PC - это абстрактные элементы, на которые может быть расчленено (декомпозировано) оборудование реальной системы. К ним относятся одноканальные и многоканальные устройства и логические переключатели.
Статистические объекты GPSS/PC служат для сбора и обработки статистических данных о функционировании модели. К ним относятся очереди и таблицы.
К вычислительным объектам GPSS/PC относятся переменные (арифметические и булевские) и функции. Запоминающие объекты GPSS/PC обеспечивают хранение в памяти ПК отдельных величин, используемых в модели, а также массивов таких величин.
К объектам группирующего класса относятся списки пользователя и группы. Списки пользователя используются для организации очередей с дисциплинами, отличными от дисциплины "раньше пришел – раньше обслужен".
Каждому объекту того или иного класса соответствуют числовые атрибуты, описывающие его состояние в данный момент модельного времени. Кроме того, имеется ряд так называемых системных атрибутов, относящихся не к отдельным объектам, а к модели в целом. Значения атрибутов всех объектов модели по окончании моделирования выводятся в стандартный отчет GPSS/PC.
Большая часть атрибутов доступна программисту и составляет стандартные числовые атрибуты (СЧА), которые могут использоваться в качестве операндов операторов исходной программы. Все СЧА являются целыми числами.
В начальный момент времени в GPSS-модели нет ни одного транзакта. В процессе моделирования симулятор генерирует транзакты в определенные моменты времени в соответствии с теми логическими потребностями, которые возникают в моделируемой системе. Подобным же образом транзакты покидают модель в определенные моменты времени в зависимости от специфики моделируемой системы. В общем случае в модели одновременно существует большое число транзактов, однако в каждый момент времени симулятор осуществляет продвижение только какого-либо одного транзакта.
Каждое продвижение транзакта в модели является событием, которое должно произойти в определенный момент модельного времени. Для того, чтобы поддерживать правильную временную последовательность событий, симулятор имеет таймер модельного времени, который автоматически корректируется в соответствии с логикой, предписанной моделью.
AnyLogic — программное обеспечение для имитационного моделирования сложных систем и процессов. Программа обладает графической средой пользователя и позволяет использовать язык Java для разработки моделей.
Продукт поддерживает все три известных метода моделирования: системная динамика; дискретно-событийное (процессное) моделирование; агентное моделирование.
А также любую комбинацию этих подходов в пределах одной модели.
AnyLogic включает в себя графический язык моделирования, а также позволяет пользователю расширять созданные модели с помощью языка Java. Интеграция компилятора Java в AnyLogic предоставляет более широкие возможности при создании моделей, а также создание Java апплетов, которые могут быть открыты любым браузером. В дополнение к Java апплетам, AnyLogic Professional поддерживает создание Java приложений, в этом случае пользователь может запустить модель без инсталляции AnyLogic.
Графическая среда моделирования AnyLogic включает в себя следующие элементы:
Stock & Flow Diagrams (диаграмма потоков и накопителей) применяется при разработке моделей, используя метод системной динамики.
Statecharts (карты состояний) в основном используется в агентных моделях для определения поведения агентов. Но также часто используется в дискретно-событийном моделировании, например для симуляции машинных сбоев.
Action charts (блок-схемы) используется для построения алгоритмов. Применяется в дискретно-событийном моделировании (маршрутизация звонков) и агентном моделировании (для логики решений агента).
Process flowcharts (процессные диаграммы) основная конструкция, используемая для определения процессов в дискретно-событийном моделировании.
При разработке моделей в AnyLogic можно использовать концепции и средства из нескольких методов моделирования, например, в агентной модели использовать методы системной динамики для представления изменений состояния среды или в непрерывной модели динамической системы учесть дискретные события..
Среда моделирования также включает в себя: низкоуровневые конструкции моделирования (переменные, уравнения, параметры, события и т.п), формы представления (линии, квадраты, овалы и т.п), элементы анализа (базы данных, гистограммы, графики), стандартные картинки и формы экспериментов.
Среда моделирования AnyLogic поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов с моделью, включая различные виды анализа — от анализа чувствительности до оптимизации относительно некоторого критерия.
AnyLogic включает в себя набор стандартных библиотек.