Язык моделирования GPSS World
При создании программ имитационного моделирования возникают задачи общие для широкого класса моделей. Это организация псевдопараллельного выполнения алгоритмов, динамическое распределение памяти, операции с модельным временем, имитация случайных процессов, введение массива событий, сбор и обработка результатов моделирования.
Для облегчения решения этих задач созданы специальные проблемно-ориентированные средства (программные системы), которые называются языками моделирования. По структуре и правилам программирования языки моделирования подобны алгоритмическим языкам высокого уровня, но имеют более высокий уровень. В настоящее время известно более 500 языков моделирования.
Одним из наиболее распространенных современных языков моделирования является GPSS World (General Purpose Simulating System-общецелевая система моделирования). Система GPSS ориентирована на класс объектов, процесс функционирования которых можно представить в виде множества состояний и правил перехода из одного состояния в другое, определяемых в дискретной пространственно-временной области. Примерами таких объектов являются вычислительные системы, сети ЭВМ, системы передачи сообщений и т.д. В качестве формальных моделей таких объектов используют системы массового обслуживания, автоматы, стохастические сети и т.д.
|
|
Система GPSS World содержит боле 40 программных блоков и следующие функциональные объекты: транзакты, очереди, устройства, функции и т.д.
Каждый из функциональных блоков и объектов представляет собой набор программных средств, выполняющих те или иные проблемно-ориентированные функции. Функциональный объект имеет свои стандартные числовые атрибуты (СЧА).
1. Транзакты (ТА) имитируют пользователей системы, заявки, требования, обращения к системе и т.д. Каждый транзакт имеет индивидуальный номер и номер блока, в котором он находится и набор стандартных числовых атрибутов:
PS - приоритет,
X j – j-й номер ТА,
M i – время прохождения i-го ТА участка модели,
P j – j-й параметр ТА.
ТА создаётся специальным блоком GENERATE, проводится по системе (алгоритму) и выводится из системы оператором TERMINATE. При этом о нем собираются статистические данные.
2. Устройства имитируют процесс обработки ТА и включают в себя следующие операторы (программные блоки):
- SEIZE – занять устройство;
- ADVANCE - оператор обработки;
- RELEASE – вывод ТА из устройства.
Устройство имеет СЧА:
- FR j – коэффициент использования j-го устройства;
- FT j – среднее время обработки j-м устройством;
- F j – состояние устройства с номером j (0- устройство свободно, 1- устройство занято).
|
|
3. Очереди имитируют постановку, нахождение и вывод ТА из очереди. Очереди составляются двумя блоками:
- QUEUE – захват (вход в очередь);
- DEPART – выход из очереди.
Очереди имеют СЧА:
- Q j – длина j-й очереди;
- QM j – максимальная длина j-й очереди;
- QA j – средняя длина очереди;
- QT j – среднее время ожидания ТА в очереди с учётом транзитных ТА.