Язык GPSS/ General Purpose Simulation System - общецелевая система моделирования - разработан в конце 60-х годов фирмой IBM. Он быстро завоевал популярность и входил в 70-е - 80-е годы в число наиболее популярных языков моделирования. Известен целый ряд версий: GPSS/360, GPSS V, GPSS PC и др., достаточно подробно описанные специалистом по этому языку Т.Шрайбером в его первой книге, переведенной на русский язык и вышедшей в 1980 г., посвященной версии GPSS/H. В настоящеее время им написана монография, посвященная GPSS/H [29], не переведенная на русский язык. Бытующее в настоящее время мнение, что этот язык устарел, мы считаем неверным в принципе. Существующая в настоящее время версия GPSS/H r.3, предназначенная для использования в основных операционных системах WINDOWS 95 - 98, OS-2, NT, разработанная фирмой WOLVERINE Software Corp., открывает широкие возможности для моделирования дискретных систем. Язык GPSS/H снова вышел в лидирующую группу ЯИМ. Первоначальная версия GPSS/H была предложена Дж.О. Хенриксоном в 1977 г. и уже имела ряд преимуществ по сравнению с GPSS/360 и GPSS V. Далее версия непрерывно совершенствовалась и сегодняшняя GPSS/H ч.3 1996 г. будет описана далее. Однако для тех, кто использовал GPSS V или GPSS PC на практике небезинтересно узнать о существенных отличиях GPSS/H
|
|
1. Основные нововведения:
а) создание мощного интерактивного отладчика (debbuger), обеспечивающего остановку процесса моделирования в заданных точках контрольных остановов (breakpoint) с целью внесения исправлений.
б) введение новых фортраноподобных видов данных, взамен устаревших SAVEVALUE, которые названы Ampervariable - & - АМП.
в) разработаны новые способы ввода и вывода данных с помощью внешних файлов.
г) Возможность кодирования модели в свободном формате с комментариями на русском языке.
д) увеличение длины символов.
е) Введение возможности использования скобок разного уровня.
ж) использование макросов, что не позволяли другие версии GPSS.
з) удобный листинг используемых объектов с перекрестными ссылками
2. Изменения в операторах управления и описания.
а) добавление удобного формата выходных данных.
б) введение операторов управления подобных используемым в универсальных языках (ДО, IF, GOTO, ELSE, HERE).
в) Введение практически всех известных дискретных и непрерывных законов распределения.
г) Введение возможности использования не обязательно целых чисел.
д) Введение логарифмических и тригонометрических функций.
3. Расширение номенклатуры блоков.
а) Введение ряда новых блоков, расширяющих возможность ряда операторов управления (BCLEAR, BRMULT, BCLOSE, BPUTPIC и др.)
б) Введение возможности указания функции непосредственно в операнде без введения оператора описания.
|
|
4. Расширение транзактов.
а) Снятие ограничения на целочисленность значений. Введение плавающей точки в значение времени транзакта.
б) Расширение диапазона задания приоритета.
в) Введение индекса ID для транзактов, не участвующих в процессе моделирования.
5. Расширение СЧА и СЛА.
а) Введение целого ряда новых стандартных числовых и логических атрибутов (СЧА и СЛА соответственно), позволяющих выполнить ряд операций значительно расширяющих возможности GPSS/H. Необходимо отметить, что по скорости трансляции модели GPSS/H намного превосходят многие ЯИМ, так по сравнению с SIMSCRIPT II.5 скорость трансляции выше в 50 раз. Возможность коррекции ошибок в реальном времени дает GPSS/H преимущество и перед УЯП, где такой контроль затруднен.
По ряду моментов более ранние версии (GPSS-360, GPSS V) несовместимы с рассматриваемой версией. Кроме того, ряд блоков, операторов управления и директив по причине их морального устаревания в GPSS/H либо исключен, либор заменен и расширен. За более подробными комментариями следует обратиться к [29].
Дальнейшее рассмотрение сосредоточим только на GPSS/H ч.3, как наиболее эффективной и гибкой для моделирования сложных систем S, и ставшим за счет улучшений и расширения возможностей языком моделирования в широком смысле.